]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
Make MemTableRepFactory into a Customizable class (#8419)
authormrambacher <mrambach@gmail.com>
Wed, 8 Sep 2021 14:45:59 +0000 (07:45 -0700)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Wed, 8 Sep 2021 14:46:44 +0000 (07:46 -0700)
commitbeed86473a078f58e6a8f214068a142bfc53d6aa
tree625268e4a2902543c55c2e1008d0d49cb23d6aca
parente40b04e9fa34b0846eab2592127273c4d5c96b37
Make MemTableRepFactory into a Customizable class (#8419)

Summary:
This PR does the following:
-> Makes the MemTableRepFactory into a Customizable class and creatable/configurable via CreateFromString
-> Makes the existing implementations compatible with configurations
-> Moves the "SpecialRepFactory" test class into testutil, accessible via the ObjectRegistry or a NewSpecial API

New tests were added to validate the functionality and all existing tests pass.  db_bench and memtablerep_bench were hand-tested to verify the functionality in those tools.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8419

Reviewed By: zhichao-cao

Differential Revision: D29558961

Pulled By: mrambacher

fbshipit-source-id: 81b7229636e4e649a0c914e73ac7b0f8454c931c
34 files changed:
db/column_family.cc
db/column_family_test.cc
db/compaction/compaction_job_stats_test.cc
db/db_bloom_filter_test.cc
db/db_compaction_test.cc
db/db_flush_test.cc
db/db_impl/db_impl.cc
db/db_io_failure_test.cc
db/db_range_del_test.cc
db/db_secondary_test.cc
db/db_test.cc
db/db_test2.cc
db/db_test_util.h
db/db_universal_compaction_test.cc
db/db_with_timestamp_basic_test.cc
db/db_with_timestamp_compaction_test.cc
db/listener_test.cc
include/rocksdb/memtablerep.h
include/rocksdb/utilities/options_type.h
memtable/hash_linklist_rep.cc
memtable/hash_linklist_rep.h [deleted file]
memtable/hash_skiplist_rep.cc
memtable/hash_skiplist_rep.h [deleted file]
memtable/memtablerep_bench.cc
memtable/skiplistrep.cc
memtable/vectorrep.cc
options/cf_options.cc
options/customizable_test.cc
options/options_helper.cc
options/options_test.cc
table/plain/plain_table_factory.cc
test_util/testutil.cc
test_util/testutil.h
tools/db_bench_tool.cc