anchor.diff:  %% cleaning up. When it returns, the gen_server terminates with Reason.
   %% The return value is ignored.
   terminate(_Reason, #state{id = Id,
  +                          meta_db_id = MetaDBId,
                             state_filepath = StateFilePath,
                             storage_stats  = StorageStats,
                             object_storage = #backend_info{write_handler = WriteHandler,
  
positive.code: 
  handle_call(close, _From,
              #state{id = Id,
                     state_filepath = StateFilePath,
                     storage_stats  = StorageStats,
                     object_storage = #backend_info{write_handler = WriteHandler,
                                                    read_handler  = ReadHandler}} = State) ->
      ok = close_storage(Id, StateFilePath,
                         StorageStats, WriteHandler, ReadHandler),
      {reply, ok, State};
  
  
negative.code:            {compaction_histories, StorageStats#storage_stats.compaction_histories},
             {has_error,            StorageStats#storage_stats.has_error}]),
      ok = leo_object_storage_haystack:close(WriteHandler, ReadHandler),
      ok = leo_backend_db_server:close(MetaDBId),
      ok.
  