anchor.diff:                      N  = leo_misc:get_value(?PROP_N,  Options),
                       L2 = leo_misc:get_value(?PROP_L2, Options, 0),
   
  -                    State1 = maybe_sync_1_1(?SYNC_MODE_CUR_RING,  R1, CurHash,  N, L2, Members, State),
  -                    State2 = maybe_sync_1_1(?SYNC_MODE_PREV_RING, R2, PrevHash, N, L2, Members, State1),
  +                    CurSyncInfo  = #sync_info{target = ?SYNC_MODE_CUR_RING,
  +                                              org_checksum = R1,
  +                                              cur_checksum = CurHash,
  +                                              num_of_replicas = N,
  +                                              num_of_rack_awareness = L2,
  +                                              members = Members},
  +                    PrevSyncInfo = #sync_info{target = ?SYNC_MODE_PREV_RING,
  +                                              org_checksum = R2,
  +                                              cur_checksum = PrevHash,
  +                                              num_of_replicas = N,
  +                                              num_of_rack_awareness = L2,
  +                                              members = Members},
  +                    State1 = maybe_sync_1_1(CurSyncInfo,  State),
  +                    State2 = maybe_sync_1_1(PrevSyncInfo, State1),
                       State2;
                   _ ->
                       State
  
positive.code:             FirstAddrId_1 =
                  case TblAcc of
                      [] ->
                          StAddrId;
                      _ ->
                          case lists:last(TblAcc) of
                              #vnodeid_nodes{id = 1} -> 0;
  
negative.code:                 end,
  
              RingGroup = lists:reverse([VNodeId_Nodes|TblAcc]),
              RingConf#ring_conf{id = Id1,
                                 group_id = 0,
                                 from_addr_id = AddrId + 1,
                                 index_list = [#ring_group{index_from = FirstAddrId_1,
                                                           index_to   = AddrId,
                                                           vnodeid_nodes_list = RingGroup}|IdxAcc],
                                 table_list = []};
          false ->
              RingConf#ring_conf{id = Id1,
                                 group_id = GId + 1,
                                 from_addr_id = AddrId + 1,
                                 table_list = [VNodeId_Nodes|TblAcc]}
      end;
  
  gen_routing_table_1(_, #ring_conf{id = Id,
                                    group_id     = GId,
                                    addr_id      = AddrId,
                                    table_list   = TblAcc} = RingConf) ->
      ?output_error_log(?LINE, "gen_routing_table_1/2", "Could not get redundancies"),
      RingConf#ring_conf{id       = Id + 1,
                         group_id = GId + 1,
                         from_addr_id = AddrId + 1,
                         table_list   = [#vnodeid_nodes{}|TblAcc]}.
  
  
  %% @doc get redundancies by key.
  