anchor.diff:              {false, []}
       end.
   
  +-spec(is_any_inconsistency_happening_in_cluster() ->
  +             boolean()).
  +is_any_inconsistency_happening_in_cluster() ->
  +    case active_storage_nodes() of
  +        {ok, Members} ->
  +            {ok, Chksums} = get_routing_table_chksum(),
  +            Fun = fun(Node) ->
  +                          case rpc:call(Node, ?API_STORAGE, get_routing_table_chksum, [], ?DEF_TIMEOUT) of
  +                              {ok, Chksums} ->
  +                                  false;
  +                              _ ->
  +                                  %% Having a different RING hash or being downed
  +                                  true
  +                          end
  +                  end,
  +            lists:any(Fun, Members);
  +        _ ->
  +            true
  +    end.
   
   %% @doc Execute a function of a remote node (Gateway/Storage)
   %% @private
  
positive.code:              {ok, #?SYSTEM_CONF{}} | {error, any()}).
  %% @doc Convert System Conf from ~1.3.2 cluster
  join_cluster(RemoteManagerNodes, #system_conf_2{} = SystemConf) ->
      case join_cluster(RemoteManagerNodes, leo_cluster_tbl_conf:transform(SystemConf)) of
          {ok, #?SYSTEM_CONF{} = Conf} ->
              {ok, leo_cluster_tbl_conf:transform_to_confv2(Conf)};
          Others ->
              Others
      end;
  join_cluster(RemoteManagerNodes,
               #?SYSTEM_CONF{cluster_id = ClusterId,
                             dc_id = DCId,
  
negative.code: rebalance_1(true, Nodes) ->
      case assign_nodes_to_ring(Nodes) of
          ok ->
              case is_any_inconsistency_happening_in_cluster() of
                  true ->
                      {error, ?ERROR_NOT_SATISFY_CONDITION};
                  false ->
                      case is_allow_to_distribute_command() of
                          {true, _} ->
                              case leo_redundant_manager_api:rebalance() of
                                  {ok, List} ->
                                      rebalance_2(dict:new(), List);
                                  {error, Cause} ->
                                      ?error("rebalance_1/2", [{cause, Cause}]),
                                      {error, ?ERROR_FAIL_REBALANCE}
                              end;
                          {false, _} ->
                              {error, ?ERROR_NOT_SATISFY_CONDITION}
                      end
              end;
          {error, Cause} ->
              ?error("rebalance_1/2", [{cause, Cause}]),
  