anchor.diff:  
   %% @private
   -spec(exec_2(atom(), atom()) ->
  -             {ok, integer()} | {error, any()}).
  +             {ok, {node_state() ,integer()}} | {error, any()}).
   exec_2(Node, ClusterId) ->
       case catch leo_rpc:call(Node, leo_redundant_manager_api,
                               get_members, []) of
  
positive.code:                         {ok, LocalClusterStat} ->
                              exec_1(Node, ClusterStat, LocalClusterStat);
                          not_found ->
                              exec_1(Node, ClusterStat, #?CLUSTER_STAT{});
                          _ ->
                              ok
                      end;
  
negative.code: %% @private
  -spec(exec_1(atom(), #?CLUSTER_STAT{}, #?CLUSTER_STAT{}) ->
               ok | {error, any()}).
  exec_1(Node,
         #?CLUSTER_STAT{checksum   = Checksum_1,
                        cluster_id = ClusterId} = ClusterStat, ClusterStat_2) ->
      Checksum_2 =
          case ClusterStat_2 of
              undefined ->
                  -1;
              #?CLUSTER_STAT{checksum = _Checksum} ->
                  _Checksum
          end,
  
      %% Retrieve new members and then store them
      case (Checksum_1 /= Checksum_2) of
          true ->
              %% Retrieve the remote members and then store them
              case exec_2(Node, ClusterId) of
                  {ok, {State, Checksum}} ->
                      leo_mdcr_tbl_cluster_stat:update(
                        ClusterStat#?CLUSTER_STAT{state = State,
                                                  checksum = Checksum});
                  {error, Cause} ->
                      {error, Cause}
              end;
  