anchor.diff:  head(Id, Key) ->
       gen_server:call(Id, {head, Key}, ?DEF_TIMEOUT).
   
  -%% @doc Retrieve a metada/data from backend_db/object-storage 
  +%% @doc Retrieve a metada/data from backend_db/object-storage
   %%      AND calc MD5 based on the body data
   %%
   -spec(head_with_calc_md5(atom(), tuple(), any()) ->
  
positive.code:              ok | {error, any()}).
  do_compact(Metadata, CompactParams, #state{meta_db_id     = MetaDBId,
                                             object_storage = StorageInfo} = State) ->
      FunHasChargeOfNode = CompactParams#compact_params.fun_has_charge_of_node,
      HasChargeOfNode    = FunHasChargeOfNode(CompactParams#compact_params.key_bin),
      NumActive          = CompactParams#compact_params.num_of_active_object,
      SizeActive         = CompactParams#compact_params.size_of_active_object,
  
      %% check mailbox regularly
      receive
          compact_suspend ->
  
negative.code:             false
      end.
  
  %% @private
  -spec(is_deleted_rec(atom(), #backend_info{}, #?METADATA{}, #?METADATA{}) ->
               boolean()).
  is_deleted_rec(_MetaDBId,_StorageInfo,
                 _Meta,
                 #?METADATA{del = Del}) when Del /= 0 ->
      true;
  is_deleted_rec(_MetaDBId,_StorageInfo,
                 #?METADATA{offset = Offset_1},
                 #?METADATA{offset = Offset_2}) when Offset_1 /= Offset_2 ->
      true;
  is_deleted_rec(_MetaDBId,_StorageInfo,_Meta_1,_Meta_2) ->
      false.
  
  
  