anchor.diff:                  {ok, #?MSG_ASYNC_DELETION{addr_id = AddrId,
                                             key = Key,
                                             meta = Metadata}} ->
  -                    case compare_between_metadatas(Metadata) of
  +                    case compare_between_metadatas(Metadata, true) of
                           true ->
                               case catch leo_storage_handler_object:delete(
                                            #?OBJECT{addr_id = AddrId,
  
positive.code:                         true ->
                              send_object_to_remote_node(SyncNode, AddrId, Key);
                          false ->
                              case compare_between_metadatas(Metadata) of
                                  true ->
                                      case correct_redundancies(Key) of
                                          ok ->
  
negative.code: 
  
  %% @doc Compare MQ's metadata with its latest metadata
  -spec(compare_between_metadatas(Metadata, IsDelete) ->
               Result | {error, Cause} when Metadata::#?METADATA{},
                                            IsDelete::boolean(),
                                            Result::boolean(),
                                            Cause::any()).
  compare_between_metadatas(undefined, _) ->
      true;
  compare_between_metadatas(#?METADATA{addr_id = AddrId,
                                       key = Key,
                                       clock = MsgClock}, IsDelete) ->
      case leo_storage_handler_object:head(AddrId, Key, false) of
          {ok, #?METADATA{clock = Clock}} when MsgClock >= Clock ->
              true;
          {ok, _} ->
              false;
          not_found when IsDelete =:= true ->
              %% for remove_objects_under_dir
              %% return false as the object already deleted on this node
              false;
          not_found ->
              %% for consume with QUEUE_ID_PER_OBJECT
              %% return true as the object to be recovered on this node
              true;
          {error, Cause} ->
              ?error("compare_between_metadatas/2",
                     [{addr_id, AddrId}, {key, Key},
                      {cause, Cause}]),
              {error, ?ERROR_COULD_NOT_GET_META}
  