anchor.diff:              %%
               TmpWriteHandler = StorageInfo#backend_info.tmp_write_handler,
   
  -            case leo_object_storage_haystack:compact_put(TmpWriteHandler, Metadata,
  -                                                         CompactParams#compact_params.key_bin,
  -                                                         CompactParams#compact_params.body_bin) of
  +            case leo_object_storage_haystack:compact_put(
  +                   TmpWriteHandler, Metadata, Key, Body) of
                   {ok, Offset} ->
                       NewMeta = Metadata#?METADATA{offset = Offset},
                       KeyOfMetadata = ?gen_backend_key(StorageInfo#backend_info.avs_version_bin_cur,
  
positive.code:                                                     next_offset = NewNextOffset},
                         State);
          {error, eof} ->
              NumOfAcriveObjs  = CompactParams#compact_params.num_of_active_object,
              SizeOfActiveObjs = CompactParams#compact_params.size_of_active_object,
              {ok, NumOfAcriveObjs, SizeOfActiveObjs};
          {error, Cause} when Cause =:= ?ERROR_INVALID_DATA orelse
  
negative.code: 
                      ObjectSize = leo_object_storage_haystack:calc_obj_size(NewMeta),
                      NewCompactParams = CompactParams#compact_params{
                                           num_of_active_objects = NumOfActiveObjs  + 1,
                                           size_of_active_object = SizeActive + ObjectSize},
  
                      do_comapct_1(Ret, NewMeta, NewCompactParams, State);
  