anchor.diff:                           prev = #ring_info{ring_group_list = PrevRing}} = State) ->
       case Info of
           {mnesia_table_event, {write, El,_}} ->
  -            case erlang:element(8, El) of
  +            NodeStatus = erlang:element(8, El),
  +            case NodeStatus of
                   ?STATE_RUNNING when CurRing  == [];
                                       CurRing  == undefined;
                                       PrevRing == [];
  
positive.code:                     timer:apply_after(100, leo_redundant_manager_api, create, []),
                      ok;
                  ?STATE_RUNNING ->
                      %% exists node in ring?
                      VNodeList_1 =
                          case erlang:element(1, El) of
                              ?MEMBER_TBL_CUR ->
                                  [#ring_group{vnodeid_nodes_list = VNodeList}|_] = CurRing,
                                  VNodeList;
                              ?MEMBER_TBL_PREV ->
                                  [#ring_group{vnodeid_nodes_list = VNodeList}|_] = PrevRing,
                                  VNodeList
                          end,
                      Node = erlang:element(2, El),
                      case find_node_from_ring(VNodeList_1, Node) of
                          ok ->
                              void;
                          not_found ->
                              timer:apply_after(100, leo_redundant_manager_api, create, [])
                      end;
                  _ ->
                      void
              end;
          {mnesia_table_event, {delete,_El,_}} ->
              case (CurRing  == [] orelse
                    PrevRing == [] orelse
                    CurRing  == undefined orelse
                    PrevRing == undefined) of
                  true ->
                      %% ?debugVal(El),
                      %% ?debugVal({table, element(1, El)}),
                      %% ?debugVal({node,  element(2, El)}),
                      timer:apply_after(100, leo_redundant_manager_api, create, []),
                      ok;
                  false ->
                      void
              end;
          _ ->
              void
      end,
      {noreply, State}.
  
  
negative.code:     {error, invalid_table}.
  
  
  
  %% @doc Retrieve vnode-list
  %% @private
  get_vnode_list(?MEMBER_TBL_CUR, undefined,_PrevRing) ->
      [];
  get_vnode_list(?MEMBER_TBL_CUR, [],_PrevRing) ->
      [];
  get_vnode_list(?MEMBER_TBL_CUR, CurRing,_PrevRing) ->
      [#ring_group{vnodeid_nodes_list = VNodeList}|_] = CurRing,
      VNodeList;
  get_vnode_list(?MEMBER_TBL_PREV,_CurRing, undefined) ->
      [];
  get_vnode_list(?MEMBER_TBL_PREV,_CurRing, []) ->
      [];
  get_vnode_list(?MEMBER_TBL_PREV,_CurRing, PrevRing) ->
      [#ring_group{vnodeid_nodes_list = VNodeList}|_] = PrevRing,
      VNodeList.
  
  
  %% @doc Find the node from a part of the ring
  %% @private
  find_node_from_ring([],_Node) ->
  