From c79128a611335bc36ba0bea3dabae628666decba Mon Sep 17 00:00:00 2001 From: Xiaoxi Chen Date: Tue, 24 Mar 2015 10:04:17 +0800 Subject: [PATCH 1/6] Update RocksDBStore to match new RockDB config API RockDB configuration api was changed, updated RockDBStore to use it. Signed-off-by: Xiaoxi Chen --- src/common/config_opts.h | 2 +- src/os/RocksDBStore.cc | 19 ++++++++++--------- src/os/RocksDBStore.h | 4 ++-- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/common/config_opts.h b/src/common/config_opts.h index f3634349871..3169ee87662 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -703,7 +703,7 @@ OPTION(rocksdb_write_buffer_size, OPT_U64, 0) // rocksdb write buffer size OPTION(rocksdb_target_file_size_base, OPT_U64, 0) // target file size for compaction OPTION(rocksdb_cache_size, OPT_U64, 0) // rocksdb cache size OPTION(rocksdb_block_size, OPT_U64, 0) // rocksdb block size -OPTION(rocksdb_bloom_size, OPT_INT, 0) // rocksdb bloom bits per entry +OPTION(rocksdb_bloom_bits_per_key, OPT_INT, 10) // rocksdb bloom bits per entry OPTION(rocksdb_write_buffer_num, OPT_INT, 0) // rocksdb bloom bits per entry OPTION(rocksdb_background_compactions, OPT_INT, 0) // number for background compaction jobs OPTION(rocksdb_background_flushes, OPT_INT, 0) // number for background flush jobs diff --git a/src/os/RocksDBStore.cc b/src/os/RocksDBStore.cc index dc5e8e6f22e..237b098905f 100644 --- a/src/os/RocksDBStore.cc +++ b/src/os/RocksDBStore.cc @@ -8,6 +8,7 @@ #include #include "rocksdb/db.h" +#include "rocksdb/table.h" #include "rocksdb/env.h" #include "rocksdb/write_batch.h" #include "rocksdb/slice.h" @@ -25,7 +26,7 @@ int RocksDBStore::init() options.write_buffer_size = g_conf->rocksdb_write_buffer_size; options.cache_size = g_conf->rocksdb_cache_size; options.block_size = g_conf->rocksdb_block_size; - options.bloom_size = g_conf->rocksdb_bloom_size; + options.bloom_bits_per_key = g_conf->rocksdb_bloom_bits_per_key; options.compression_type = g_conf->rocksdb_compression; options.paranoid_checks = g_conf->rocksdb_paranoid; options.max_open_files = g_conf->rocksdb_max_open_files; @@ -48,6 +49,7 @@ int RocksDBStore::init() int RocksDBStore::do_open(ostream &out, bool create_if_missing) { rocksdb::Options ldoptions; + rocksdb::BlockBasedTableOptions table_options; if (options.write_buffer_size) ldoptions.write_buffer_size = options.write_buffer_size; @@ -62,15 +64,12 @@ int RocksDBStore::do_open(ostream &out, bool create_if_missing) if (options.max_open_files) ldoptions.max_open_files = options.max_open_files; if (options.cache_size) { - ldoptions.block_cache = rocksdb::NewLRUCache(options.cache_size); + table_options.block_cache = rocksdb::NewLRUCache(options.cache_size); } if (options.block_size) - ldoptions.block_size = options.block_size; - if (options.bloom_size) { - const rocksdb::FilterPolicy *_filterpolicy = - rocksdb::NewBloomFilterPolicy(options.bloom_size); - ldoptions.filter_policy = _filterpolicy; - filterpolicy = _filterpolicy; + table_options.block_size = options.block_size; + if (options.bloom_bits_per_key) { + table_options.filter_policy.reset(rocksdb::NewBloomFilterPolicy(options.bloom_bits_per_key, true)); } if (options.compression_type.length() == 0) ldoptions.compression = rocksdb::kNoCompression; @@ -83,7 +82,7 @@ int RocksDBStore::do_open(ostream &out, bool create_if_missing) else ldoptions.compression = rocksdb::kNoCompression; if (options.block_restart_interval) - ldoptions.block_restart_interval = options.block_restart_interval; + table_options.block_restart_interval = options.block_restart_interval; ldoptions.error_if_exists = options.error_if_exists; ldoptions.paranoid_checks = options.paranoid_checks; @@ -108,6 +107,8 @@ int RocksDBStore::do_open(ostream &out, bool create_if_missing) if(options.wal_dir.length()) ldoptions.wal_dir = options.wal_dir; + //apply table_options + ldoptions.table_factory.reset(NewBlockBasedTableFactory(table_options)); //rocksdb::DB *_db; rocksdb::Status status = rocksdb::DB::Open(ldoptions, path, &db); diff --git a/src/os/RocksDBStore.h b/src/os/RocksDBStore.h index 87c59de8cbd..71c0854c82f 100644 --- a/src/os/RocksDBStore.h +++ b/src/os/RocksDBStore.h @@ -117,7 +117,7 @@ public: int max_open_files; /// maximum number of files RocksDB can open at once uint64_t cache_size; /// size of extra decompressed cache to use uint64_t block_size; /// user data per block - int bloom_size; /// number of bits per entry to put in a bloom filter + int bloom_bits_per_key; /// number of bits per entry to put in a bloom filter string compression_type; /// whether to use libsnappy compression or not // don't change these ones. No, seriously @@ -140,7 +140,7 @@ public: max_open_files(0), //< 0 means default cache_size(0), //< 0 means no cache (default) block_size(0), //< 0 means default - bloom_size(0), //< 0 means no bloom filter (default) + bloom_bits_per_key(10), //< 10 is the default value which yields ~1% false positive rate. compression_type("none"), //< set to false for no compression block_restart_interval(0), //< 0 means default error_if_exists(false), //< set to true if you want to check nonexistence From ab1740d5b0c9e85ced4e8c395f3e878528dccc07 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 24 Mar 2015 08:38:16 -0700 Subject: [PATCH 2/6] rocksdb: update to newer version Signed-off-by: Sage Weil --- src/rocksdb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rocksdb b/src/rocksdb index 05da5930f3a..df5f727d295 160000 --- a/src/rocksdb +++ b/src/rocksdb @@ -1 +1 @@ -Subproject commit 05da5930f3a130c4dea879a85a26f2c8ac7465c4 +Subproject commit df5f727d2952a3f298250c7d19991077ecb39701 From ddad2d44652a710d19cd38d671dde19527eb4854 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 26 Mar 2015 11:01:35 -0700 Subject: [PATCH 3/6] Makefile-rocksdb.am: update for latest rocks Lots of files changed here; rebuilt the list from scratch. Signed-off-by: Sage Weil --- src/Makefile-rocksdb.am | 693 +++++++++++++++++++--------------------- 1 file changed, 334 insertions(+), 359 deletions(-) diff --git a/src/Makefile-rocksdb.am b/src/Makefile-rocksdb.am index 7904c0ee313..fb642912a00 100644 --- a/src/Makefile-rocksdb.am +++ b/src/Makefile-rocksdb.am @@ -2,371 +2,346 @@ if WITH_SLIBROCKSDB SUBDIRS += rocksdb else EXTRA_DIST += \ - rocksdb/.arcconfig \ - rocksdb/.clang-format \ - rocksdb/.gitignore \ + rocksdb/.gitignore \ rocksdb/CONTRIBUTING.md \ rocksdb/HISTORY.md \ rocksdb/INSTALL.md \ rocksdb/LICENSE \ rocksdb/Makefile.am \ rocksdb/PATENTS \ - rocksdb/README \ + rocksdb/README.md \ rocksdb/ROCKSDB_LITE.md \ - rocksdb/build_tools/build_detect_platform \ - rocksdb/build_tools/build_detect_version \ - rocksdb/build_tools/fbcode.clang31.sh \ - rocksdb/build_tools/fbcode.gcc471.sh \ - rocksdb/build_tools/fbcode.gcc481.sh \ - rocksdb/build_tools/format-diff.sh \ - rocksdb/build_tools/mac-install-gflags.sh \ - rocksdb/build_tools/make_new_version.sh \ - rocksdb/build_tools/regression_build_test.sh \ - rocksdb/build_tools/valgrind_test.sh \ rocksdb/configure.ac \ - rocksdb/coverage/coverage_test.sh \ - rocksdb/coverage/parse_gcov_output.py \ - rocksdb/db/builder.cc \ - rocksdb/db/builder.h \ - rocksdb/db/c.cc \ - rocksdb/db/c_test.c \ - rocksdb/db/column_family.cc \ - rocksdb/db/column_family.h \ - rocksdb/db/column_family_test.cc \ - rocksdb/db/compaction.cc \ - rocksdb/db/compaction.h \ - rocksdb/db/compaction_picker.cc \ - rocksdb/db/compaction_picker.h \ - rocksdb/db/corruption_test.cc \ - rocksdb/db/db_bench.cc \ - rocksdb/db/db_filesnapshot.cc \ - rocksdb/db/db_impl.cc \ - rocksdb/db/db_impl.h \ - rocksdb/db/db_impl_debug.cc \ - rocksdb/db/db_impl_readonly.cc \ - rocksdb/db/db_impl_readonly.h \ - rocksdb/db/db_iter.cc \ - rocksdb/db/db_iter.h \ - rocksdb/db/db_stats_logger.cc \ - rocksdb/db/db_test.cc \ - rocksdb/db/dbformat.cc \ - rocksdb/db/dbformat.h \ - rocksdb/db/dbformat_test.cc \ - rocksdb/db/deletefile_test.cc \ - rocksdb/db/file_indexer.cc \ - rocksdb/db/file_indexer.h \ - rocksdb/db/file_indexer_test.cc \ - rocksdb/db/filename.cc \ - rocksdb/db/filename.h \ - rocksdb/db/filename_test.cc \ - rocksdb/db/internal_stats.cc \ - rocksdb/db/internal_stats.h \ - rocksdb/db/log_and_apply_bench.cc \ - rocksdb/db/log_format.h \ - rocksdb/db/log_reader.cc \ - rocksdb/db/log_reader.h \ - rocksdb/db/log_test.cc \ - rocksdb/db/log_writer.cc \ - rocksdb/db/log_writer.h \ - rocksdb/db/memtable.cc \ - rocksdb/db/memtable.h \ - rocksdb/db/memtable_list.cc \ - rocksdb/db/memtable_list.h \ - rocksdb/db/merge_context.h \ - rocksdb/db/merge_helper.cc \ - rocksdb/db/merge_helper.h \ - rocksdb/db/merge_operator.cc \ - rocksdb/db/merge_test.cc \ - rocksdb/db/perf_context_test.cc \ - rocksdb/db/plain_table_db_test.cc \ - rocksdb/db/prefix_test.cc \ - rocksdb/db/repair.cc \ - rocksdb/db/simple_table_db_test.cc \ - rocksdb/db/skiplist.h \ - rocksdb/db/skiplist_test.cc \ - rocksdb/db/snapshot.h \ - rocksdb/db/table_cache.cc \ - rocksdb/db/table_cache.h \ - rocksdb/db/table_properties_collector.cc \ - rocksdb/db/table_properties_collector.h \ - rocksdb/db/table_properties_collector_test.cc \ - rocksdb/db/tailing_iter.cc \ - rocksdb/db/tailing_iter.h \ - rocksdb/db/transaction_log_impl.cc \ - rocksdb/db/transaction_log_impl.h \ - rocksdb/db/version_edit.cc \ - rocksdb/db/version_edit.h \ - rocksdb/db/version_edit_test.cc \ - rocksdb/db/version_set.cc \ - rocksdb/db/version_set.h \ - rocksdb/db/version_set_test.cc \ - rocksdb/db/write_batch.cc \ - rocksdb/db/write_batch_internal.h \ - rocksdb/db/write_batch_test.cc \ - rocksdb/doc/doc.css \ - rocksdb/doc/index.html \ - rocksdb/doc/log_format.txt \ - rocksdb/doc/rockslogo.jpg \ - rocksdb/doc/rockslogo.png \ - rocksdb/hdfs/README \ - rocksdb/hdfs/env_hdfs.h \ - rocksdb/hdfs/hdfs.h \ - rocksdb/hdfs/libhdfs.a \ - rocksdb/helpers/memenv/memenv.cc \ - rocksdb/helpers/memenv/memenv_test.cc \ - rocksdb/include/rocksdb/c.h \ - rocksdb/include/rocksdb/cache.h \ - rocksdb/include/rocksdb/compaction_filter.h \ - rocksdb/include/rocksdb/comparator.h \ - rocksdb/include/rocksdb/db.h \ - rocksdb/include/rocksdb/env.h \ - rocksdb/include/rocksdb/filter_policy.h \ - rocksdb/include/rocksdb/flush_block_policy.h \ - rocksdb/include/rocksdb/iterator.h \ - rocksdb/include/rocksdb/ldb_tool.h \ - rocksdb/include/rocksdb/memtablerep.h \ - rocksdb/include/rocksdb/merge_operator.h \ - rocksdb/include/rocksdb/options.h \ - rocksdb/include/rocksdb/perf_context.h \ - rocksdb/include/rocksdb/slice.h \ - rocksdb/include/rocksdb/slice_transform.h \ - rocksdb/include/rocksdb/statistics.h \ - rocksdb/include/rocksdb/status.h \ - rocksdb/include/rocksdb/table.h \ - rocksdb/include/rocksdb/table_properties.h \ - rocksdb/include/rocksdb/transaction_log.h \ - rocksdb/include/rocksdb/types.h \ - rocksdb/include/rocksdb/universal_compaction.h \ - rocksdb/include/rocksdb/version.h \ - rocksdb/include/rocksdb/write_batch.h \ - rocksdb/include/utilities/backupable_db.h \ - rocksdb/include/utilities/db_ttl.h \ - rocksdb/include/utilities/geo_db.h \ - rocksdb/include/utilities/stackable_db.h \ - rocksdb/include/utilities/utility_db.h \ - rocksdb/java/Makefile \ - rocksdb/java/RocksDBSample.java \ - rocksdb/java/jdb_bench.sh \ - rocksdb/java/org/rocksdb/BackupableDB.java \ - rocksdb/java/org/rocksdb/BackupableDBOptions.java \ - rocksdb/java/org/rocksdb/BloomFilter.java \ - rocksdb/java/org/rocksdb/Filter.java \ - rocksdb/java/org/rocksdb/HashLinkedListMemTableConfig.java \ - rocksdb/java/org/rocksdb/HashSkipListMemTableConfig.java \ - rocksdb/java/org/rocksdb/HistogramData.java \ - rocksdb/java/org/rocksdb/HistogramType.java \ - rocksdb/java/org/rocksdb/Iterator.java \ - rocksdb/java/org/rocksdb/MemTableConfig.java \ - rocksdb/java/org/rocksdb/Options.java \ - rocksdb/java/org/rocksdb/PlainTableConfig.java \ - rocksdb/java/org/rocksdb/ReadOptions.java \ - rocksdb/java/org/rocksdb/RocksDB.java \ - rocksdb/java/org/rocksdb/RocksDBException.java \ - rocksdb/java/org/rocksdb/RocksObject.java \ - rocksdb/java/org/rocksdb/SkipListMemTableConfig.java \ - rocksdb/java/org/rocksdb/Statistics.java \ - rocksdb/java/org/rocksdb/TableFormatConfig.java \ - rocksdb/java/org/rocksdb/TickerType.java \ - rocksdb/java/org/rocksdb/VectorMemTableConfig.java \ - rocksdb/java/org/rocksdb/WriteBatch.java \ - rocksdb/java/org/rocksdb/WriteBatchTest.java \ - rocksdb/java/org/rocksdb/WriteOptions.java \ - rocksdb/java/org/rocksdb/benchmark/DbBenchmark.java \ - rocksdb/java/org/rocksdb/test/BackupableDBTest.java \ - rocksdb/java/org/rocksdb/test/OptionsTest.java \ - rocksdb/java/org/rocksdb/test/ReadOptionsTest.java \ - rocksdb/java/org/rocksdb/util/Environment.java \ - rocksdb/java/org/rocksdb/util/SizeUnit.java \ - rocksdb/java/rocksjni/backupablejni.cc \ - rocksdb/java/rocksjni/filter.cc \ - rocksdb/java/rocksjni/iterator.cc \ - rocksdb/java/rocksjni/memtablejni.cc \ - rocksdb/java/rocksjni/options.cc \ - rocksdb/java/rocksjni/portal.h \ - rocksdb/java/rocksjni/rocksjni.cc \ - rocksdb/java/rocksjni/statistics.cc \ - rocksdb/java/rocksjni/table.cc \ - rocksdb/java/rocksjni/write_batch.cc \ - rocksdb/linters/__phutil_library_init__.php \ - rocksdb/linters/__phutil_library_map__.php \ - rocksdb/linters/cpp_linter/ArcanistCpplintLinter.php \ - rocksdb/linters/cpp_linter/FbcodeCppLinter.php \ - rocksdb/linters/cpp_linter/PfffCppLinter.php \ - rocksdb/linters/cpp_linter/cpplint.py \ - rocksdb/linters/lint_engine/FacebookFbcodeLintEngine.php \ - rocksdb/m4/libtool.m4 \ - rocksdb/m4/ltoptions.m4 \ - rocksdb/m4/ltsugar.m4 \ - rocksdb/m4/ltversion.m4 \ - rocksdb/m4/lt~obsolete.m4 \ - rocksdb/port/README \ - rocksdb/port/atomic_pointer.h \ - rocksdb/port/likely.h \ - rocksdb/port/port.h \ - rocksdb/port/port_example.h \ - rocksdb/port/port_posix.cc \ - rocksdb/port/port_posix.h \ - rocksdb/port/stack_trace.cc \ - rocksdb/port/stack_trace.h \ - rocksdb/port/win/stdint.h \ - rocksdb/table/block.cc \ - rocksdb/table/block.h \ - rocksdb/table/block_based_table_builder.cc \ - rocksdb/table/block_based_table_builder.h \ - rocksdb/table/block_based_table_factory.cc \ - rocksdb/table/block_based_table_factory.h \ - rocksdb/table/block_based_table_reader.cc \ - rocksdb/table/block_based_table_reader.h \ - rocksdb/table/block_builder.cc \ - rocksdb/table/block_builder.h \ - rocksdb/table/block_hash_index.cc \ - rocksdb/table/block_hash_index.h \ - rocksdb/table/block_hash_index_test.cc \ - rocksdb/table/block_test.cc \ - rocksdb/table/filter_block.cc \ - rocksdb/table/filter_block.h \ - rocksdb/table/filter_block_test.cc \ - rocksdb/table/flush_block_policy.cc \ - rocksdb/table/format.cc \ - rocksdb/table/format.h \ - rocksdb/table/iter_heap.h \ - rocksdb/table/iterator.cc \ - rocksdb/table/iterator_wrapper.h \ - rocksdb/table/merger.cc \ - rocksdb/table/merger.h \ - rocksdb/table/meta_blocks.cc \ - rocksdb/table/meta_blocks.h \ - rocksdb/table/plain_table_builder.cc \ - rocksdb/table/plain_table_builder.h \ - rocksdb/table/plain_table_factory.cc \ - rocksdb/table/plain_table_factory.h \ - rocksdb/table/plain_table_reader.cc \ - rocksdb/table/plain_table_reader.h \ - rocksdb/table/table_builder.h \ - rocksdb/table/table_properties.cc \ - rocksdb/table/table_reader.h \ - rocksdb/table/table_reader_bench.cc \ - rocksdb/table/table_test.cc \ - rocksdb/table/two_level_iterator.cc \ - rocksdb/table/two_level_iterator.h \ - rocksdb/tools/auto_sanity_test.sh \ - rocksdb/tools/blob_store_bench.cc \ - rocksdb/tools/db_crashtest.py \ - rocksdb/tools/db_crashtest2.py \ - rocksdb/tools/db_repl_stress.cc \ - rocksdb/tools/db_sanity_test.cc \ - rocksdb/tools/db_stress.cc \ - rocksdb/tools/ldb.cc \ - rocksdb/tools/ldb_test.py \ - rocksdb/tools/reduce_levels_test.cc \ - rocksdb/tools/sst_dump.cc \ - rocksdb/util/arena.cc \ - rocksdb/util/arena.h \ - rocksdb/util/arena_test.cc \ - rocksdb/util/auto_roll_logger.cc \ - rocksdb/util/auto_roll_logger.h \ - rocksdb/util/auto_roll_logger_test.cc \ - rocksdb/util/autovector.h \ - rocksdb/util/autovector_test.cc \ - rocksdb/util/benchharness.cc \ - rocksdb/util/benchharness.h \ - rocksdb/util/benchharness_test.cc \ - rocksdb/util/blob_store.cc \ - rocksdb/util/blob_store.h \ - rocksdb/util/blob_store_test.cc \ - rocksdb/util/bloom.cc \ - rocksdb/util/bloom_test.cc \ - rocksdb/util/build_version.h \ - rocksdb/util/cache.cc \ - rocksdb/util/cache_test.cc \ - rocksdb/util/coding.cc \ - rocksdb/util/coding.h \ - rocksdb/util/coding_test.cc \ - rocksdb/util/comparator.cc \ - rocksdb/util/crc32c.cc \ - rocksdb/util/crc32c.h \ - rocksdb/util/crc32c_test.cc \ - rocksdb/util/dynamic_bloom.cc \ - rocksdb/util/dynamic_bloom.h \ - rocksdb/util/dynamic_bloom_test.cc \ - rocksdb/util/env.cc \ - rocksdb/util/env_hdfs.cc \ - rocksdb/util/env_posix.cc \ - rocksdb/util/env_test.cc \ - rocksdb/util/filelock_test.cc \ - rocksdb/util/filter_policy.cc \ - rocksdb/util/hash.cc \ - rocksdb/util/hash.h \ - rocksdb/util/hash_cuckoo_rep.cc \ - rocksdb/util/hash_cuckoo_rep.h \ - rocksdb/util/hash_linklist_rep.cc \ - rocksdb/util/hash_linklist_rep.h \ - rocksdb/util/hash_skiplist_rep.cc \ - rocksdb/util/hash_skiplist_rep.h \ - rocksdb/util/histogram.cc \ - rocksdb/util/histogram.h \ - rocksdb/util/histogram_test.cc \ - rocksdb/util/ldb_cmd.cc \ - rocksdb/util/ldb_cmd.h \ - rocksdb/util/ldb_cmd_execute_result.h \ - rocksdb/util/ldb_tool.cc \ - rocksdb/util/log_buffer.cc \ - rocksdb/util/log_buffer.h \ - rocksdb/util/log_write_bench.cc \ - rocksdb/util/logging.cc \ - rocksdb/util/logging.h \ - rocksdb/util/manual_compaction_test.cc \ - rocksdb/util/murmurhash.cc \ - rocksdb/util/murmurhash.h \ - rocksdb/util/mutexlock.h \ - rocksdb/util/options.cc \ - rocksdb/util/perf_context.cc \ - rocksdb/util/perf_context_imp.h \ - rocksdb/util/posix_logger.h \ - rocksdb/util/random.h \ - rocksdb/util/signal_test.cc \ - rocksdb/util/skiplistrep.cc \ - rocksdb/util/slice.cc \ - rocksdb/util/statistics.cc \ - rocksdb/util/statistics.h \ - rocksdb/util/stats_logger.h \ - rocksdb/util/status.cc \ - rocksdb/util/stl_wrappers.h \ - rocksdb/util/stop_watch.h \ - rocksdb/util/string_util.cc \ - rocksdb/util/string_util.h \ - rocksdb/util/sync_point.cc \ - rocksdb/util/sync_point.h \ - rocksdb/util/testharness.cc \ - rocksdb/util/testharness.h \ - rocksdb/util/testutil.cc \ - rocksdb/util/testutil.h \ - rocksdb/util/thread_local.cc \ - rocksdb/util/thread_local.h \ - rocksdb/util/thread_local_test.cc \ - rocksdb/util/vectorrep.cc \ - rocksdb/util/xxhash.cc \ - rocksdb/util/xxhash.h \ - rocksdb/utilities/backupable/backupable_db.cc \ - rocksdb/utilities/backupable/backupable_db_test.cc \ - rocksdb/utilities/geodb/geodb_impl.cc \ - rocksdb/utilities/geodb/geodb_impl.h \ - rocksdb/utilities/geodb/geodb_test.cc \ - rocksdb/utilities/merge_operators.h \ - rocksdb/utilities/merge_operators/put.cc \ - rocksdb/utilities/merge_operators/string_append/stringappend.cc \ - rocksdb/utilities/merge_operators/string_append/stringappend.h \ - rocksdb/utilities/merge_operators/string_append/stringappend2.cc \ - rocksdb/utilities/merge_operators/string_append/stringappend2.h \ - rocksdb/utilities/merge_operators/string_append/stringappend_test.cc \ - rocksdb/utilities/merge_operators/uint64add.cc \ - rocksdb/utilities/redis/README \ - rocksdb/utilities/redis/redis_list_exception.h \ - rocksdb/utilities/redis/redis_list_iterator.h \ - rocksdb/utilities/redis/redis_lists.cc \ - rocksdb/utilities/redis/redis_lists.h \ - rocksdb/utilities/redis/redis_lists_test.cc \ - rocksdb/utilities/ttl/db_ttl_impl.cc \ - rocksdb/utilities/ttl/db_ttl_impl.h \ - rocksdb/utilities/ttl/ttl_test.cc + rocksdb/Makefile.am \ + rocksdb/db/builder.cc \ + rocksdb/db/builder.h \ + rocksdb/db/c.cc \ + rocksdb/db/column_family.cc \ + rocksdb/db/column_family.h \ + rocksdb/db/compaction.cc \ + rocksdb/db/compaction.h \ + rocksdb/db/compaction_job.cc \ + rocksdb/db/compaction_job.h \ + rocksdb/db/compaction_picker.cc \ + rocksdb/db/compaction_picker.h \ + rocksdb/db/db_filesnapshot.cc \ + rocksdb/db/dbformat.cc \ + rocksdb/db/dbformat.h \ + rocksdb/db/db_impl.cc \ + rocksdb/db/db_impl_debug.cc \ + rocksdb/db/db_impl.h \ + rocksdb/db/db_impl_readonly.cc \ + rocksdb/db/db_impl_readonly.h \ + rocksdb/db/db_iter.cc \ + rocksdb/db/db_iter.h \ + rocksdb/db/file_indexer.cc \ + rocksdb/db/file_indexer.h \ + rocksdb/db/filename.cc \ + rocksdb/db/filename.h \ + rocksdb/db/flush_job.cc \ + rocksdb/db/flush_job.h \ + rocksdb/db/flush_scheduler.cc \ + rocksdb/db/flush_scheduler.h \ + rocksdb/db/forward_iterator.cc \ + rocksdb/db/forward_iterator.h \ + rocksdb/db/internal_stats.cc \ + rocksdb/db/internal_stats.h \ + rocksdb/db/job_context.h \ + rocksdb/db/log_format.h \ + rocksdb/db/log_reader.cc \ + rocksdb/db/log_reader.h \ + rocksdb/db/log_writer.cc \ + rocksdb/db/log_writer.h \ + rocksdb/db/managed_iterator.cc \ + rocksdb/db/managed_iterator.h \ + rocksdb/db/memtable_allocator.cc \ + rocksdb/db/memtable_allocator.h \ + rocksdb/db/memtable.cc \ + rocksdb/db/memtable.h \ + rocksdb/db/memtable_list.cc \ + rocksdb/db/memtable_list.h \ + rocksdb/db/merge_context.h \ + rocksdb/db/merge_helper.cc \ + rocksdb/db/merge_helper.h \ + rocksdb/db/merge_operator.cc \ + rocksdb/db/repair.cc \ + rocksdb/db/skiplist.h \ + rocksdb/db/slice.cc \ + rocksdb/db/snapshot.h \ + rocksdb/db/table_cache.cc \ + rocksdb/db/table_cache.h \ + rocksdb/db/table_properties_collector.cc \ + rocksdb/db/table_properties_collector.h \ + rocksdb/db/transaction_log_impl.cc \ + rocksdb/db/transaction_log_impl.h \ + rocksdb/db/version_builder.cc \ + rocksdb/db/version_builder.h \ + rocksdb/db/version_edit.cc \ + rocksdb/db/version_edit.h \ + rocksdb/db/version_set.cc \ + rocksdb/db/version_set.h \ + rocksdb/db/wal_manager.cc \ + rocksdb/db/wal_manager.h \ + rocksdb/db/write_batch_base.cc \ + rocksdb/db/write_batch.cc \ + rocksdb/db/write_batch_internal.h \ + rocksdb/db/writebuffer.h \ + rocksdb/db/write_controller.cc \ + rocksdb/db/write_controller.h \ + rocksdb/db/write_thread.cc \ + rocksdb/db/write_thread.h \ + rocksdb/hdfs/README \ + rocksdb/hdfs/env_hdfs.h \ + rocksdb/hdfs/setup.sh \ + rocksdb/include/rocksdb/cache.h \ + rocksdb/include/rocksdb/c.h \ + rocksdb/include/rocksdb/compaction_filter.h \ + rocksdb/include/rocksdb/comparator.h \ + rocksdb/include/rocksdb/db.h \ + rocksdb/include/rocksdb/env.h \ + rocksdb/include/rocksdb/filter_policy.h \ + rocksdb/include/rocksdb/flush_block_policy.h \ + rocksdb/include/rocksdb/immutable_options.h \ + rocksdb/include/rocksdb/iostats_context.h \ + rocksdb/include/rocksdb/iterator.h \ + rocksdb/include/rocksdb/ldb_tool.h \ + rocksdb/include/rocksdb/listener.h \ + rocksdb/include/rocksdb/memtablerep.h \ + rocksdb/include/rocksdb/merge_operator.h \ + rocksdb/include/rocksdb/metadata.h \ + rocksdb/include/rocksdb/options.h \ + rocksdb/include/rocksdb/perf_context.h \ + rocksdb/include/rocksdb/rate_limiter.h \ + rocksdb/include/rocksdb/slice.h \ + rocksdb/include/rocksdb/slice_transform.h \ + rocksdb/include/rocksdb/sst_dump_tool.h \ + rocksdb/include/rocksdb/statistics.h \ + rocksdb/include/rocksdb/status.h \ + rocksdb/include/rocksdb/table.h \ + rocksdb/include/rocksdb/table_properties.h \ + rocksdb/include/rocksdb/thread_status.h \ + rocksdb/include/rocksdb/transaction_log.h \ + rocksdb/include/rocksdb/types.h \ + rocksdb/include/rocksdb/universal_compaction.h \ + rocksdb/include/rocksdb/utilities/backupable_db.h \ + rocksdb/include/rocksdb/utilities/checkpoint.h \ + rocksdb/include/rocksdb/utilities/convenience.h \ + rocksdb/include/rocksdb/utilities/db_ttl.h \ + rocksdb/include/rocksdb/utilities/document_db.h \ + rocksdb/include/rocksdb/utilities/geo_db.h \ + rocksdb/include/rocksdb/utilities/json_document.h \ + rocksdb/include/rocksdb/utilities/leveldb_options.h \ + rocksdb/include/rocksdb/utilities/spatial_db.h \ + rocksdb/include/rocksdb/utilities/stackable_db.h \ + rocksdb/include/rocksdb/utilities/utility_db.h \ + rocksdb/include/rocksdb/utilities/write_batch_with_index.h \ + rocksdb/include/rocksdb/version.h \ + rocksdb/include/rocksdb/write_batch_base.h \ + rocksdb/include/rocksdb/write_batch.h \ + rocksdb/include/utilities/backupable_db.h \ + rocksdb/include/utilities/db_ttl.h \ + rocksdb/include/utilities/geo_db.h \ + rocksdb/include/utilities/stackable_db.h \ + rocksdb/include/utilities/utility_db.h \ + rocksdb/m4/libtool.m4 \ + rocksdb/m4/lt~obsolete.m4 \ + rocksdb/m4/ltoptions.m4 \ + rocksdb/m4/ltsugar.m4 \ + rocksdb/m4/ltversion.m4 \ + rocksdb/port/likely.h \ + rocksdb/port/port.h \ + rocksdb/port/port_posix.cc \ + rocksdb/port/port_posix.h \ + rocksdb/port/stack_trace.cc \ + rocksdb/port/stack_trace.h \ + rocksdb/table/adaptive_table_factory.cc \ + rocksdb/table/adaptive_table_factory.h \ + rocksdb/table/block_based_filter_block.cc \ + rocksdb/table/block_based_filter_block.h \ + rocksdb/table/block_based_table_builder.cc \ + rocksdb/table/block_based_table_builder.h \ + rocksdb/table/block_based_table_factory.cc \ + rocksdb/table/block_based_table_factory.h \ + rocksdb/table/block_based_table_reader.cc \ + rocksdb/table/block_based_table_reader.h \ + rocksdb/table/block_builder.cc \ + rocksdb/table/block_builder.h \ + rocksdb/table/block.cc \ + rocksdb/table/block.h \ + rocksdb/table/block_hash_index.cc \ + rocksdb/table/block_hash_index.h \ + rocksdb/table/block_prefix_index.cc \ + rocksdb/table/block_prefix_index.h \ + rocksdb/table/bloom_block.cc \ + rocksdb/table/bloom_block.h \ + rocksdb/table/cuckoo_table_builder.cc \ + rocksdb/table/cuckoo_table_builder.h \ + rocksdb/table/cuckoo_table_factory.cc \ + rocksdb/table/cuckoo_table_factory.h \ + rocksdb/table/cuckoo_table_reader.cc \ + rocksdb/table/cuckoo_table_reader.h \ + rocksdb/table/filter_block.h \ + rocksdb/table/flush_block_policy.cc \ + rocksdb/table/format.cc \ + rocksdb/table/format.h \ + rocksdb/table/full_filter_block.cc \ + rocksdb/table/full_filter_block.h \ + rocksdb/table/get_context.cc \ + rocksdb/table/get_context.h \ + rocksdb/table/iterator.cc \ + rocksdb/table/iterator_wrapper.h \ + rocksdb/table/iter_heap.h \ + rocksdb/table/merger.cc \ + rocksdb/table/merger.h \ + rocksdb/table/meta_blocks.cc \ + rocksdb/table/meta_blocks.h \ + rocksdb/table/mock_table.h \ + rocksdb/table/plain_table_builder.cc \ + rocksdb/table/plain_table_builder.h \ + rocksdb/table/plain_table_factory.cc \ + rocksdb/table/plain_table_factory.h \ + rocksdb/table/plain_table_index.cc \ + rocksdb/table/plain_table_index.h \ + rocksdb/table/plain_table_key_coding.cc \ + rocksdb/table/plain_table_key_coding.h \ + rocksdb/table/plain_table_reader.cc \ + rocksdb/table/plain_table_reader.h \ + rocksdb/table/table_builder.h \ + rocksdb/table/table_properties.cc \ + rocksdb/table/table_properties_internal.h \ + rocksdb/table/table_reader.h \ + rocksdb/table/two_level_iterator.cc \ + rocksdb/table/two_level_iterator.h \ + rocksdb/third-party/gtest-1.7.0/fused-src/gtest/gtest.h \ + rocksdb/third-party/gtest-1.7.0/fused-src/gtest/gtest-all.cc \ + rocksdb/third-party/fbson/FbsonDocument.h \ + rocksdb/third-party/fbson/FbsonJsonParser.h \ + rocksdb/third-party/fbson/FbsonStream.h \ + rocksdb/third-party/fbson/FbsonUtil.h \ + rocksdb/third-party/fbson/FbsonWriter.h \ + rocksdb/util/allocator.h \ + rocksdb/util/arena.cc \ + rocksdb/util/arena.h \ + rocksdb/util/auto_roll_logger.cc \ + rocksdb/util/auto_roll_logger.h \ + rocksdb/util/autovector.h \ + rocksdb/util/benchharness.h \ + rocksdb/util/bloom.cc \ + rocksdb/util/build_version.h \ + rocksdb/util/cache.cc \ + rocksdb/util/coding.cc \ + rocksdb/util/coding.h \ + rocksdb/util/comparator.cc \ + rocksdb/util/compression.h \ + rocksdb/util/crc32c.cc \ + rocksdb/util/crc32c.h \ + rocksdb/util/db_info_dumper.cc \ + rocksdb/util/db_info_dumper.h \ + rocksdb/util/dynamic_bloom.cc \ + rocksdb/util/dynamic_bloom.h \ + rocksdb/util/env.cc \ + rocksdb/util/env_hdfs.cc \ + rocksdb/util/env_posix.cc \ + rocksdb/util/event_logger.cc \ + rocksdb/util/event_logger.h \ + rocksdb/util/file_util.cc \ + rocksdb/util/file_util.h \ + rocksdb/util/filter_policy.cc \ + rocksdb/util/hash.cc \ + rocksdb/util/hash_cuckoo_rep.cc \ + rocksdb/util/hash_cuckoo_rep.h \ + rocksdb/util/hash.h \ + rocksdb/util/hash_linklist_rep.cc \ + rocksdb/util/hash_linklist_rep.h \ + rocksdb/util/hash_skiplist_rep.cc \ + rocksdb/util/hash_skiplist_rep.h \ + rocksdb/util/histogram.cc \ + rocksdb/util/histogram.h \ + rocksdb/util/instrumented_mutex.cc \ + rocksdb/util/instrumented_mutex.h \ + rocksdb/util/iostats_context.cc \ + rocksdb/util/iostats_context_imp.h \ + rocksdb/utilities/backupable/backupable_db.cc \ + rocksdb/utilities/checkpoint/checkpoint.cc \ + rocksdb/utilities/compacted_db/compacted_db_impl.cc \ + rocksdb/utilities/compacted_db/compacted_db_impl.h \ + rocksdb/utilities/convenience/convenience.cc \ + rocksdb/utilities/document/document_db.cc \ + rocksdb/utilities/document/json_document_builder.cc \ + rocksdb/utilities/document/json_document.cc \ + rocksdb/utilities/geodb/geodb_impl.cc \ + rocksdb/utilities/geodb/geodb_impl.h \ + rocksdb/utilities/leveldb_options/leveldb_options.cc \ + rocksdb/utilities/merge_operators/put.cc \ + rocksdb/utilities/merge_operators/string_append/stringappend2.cc \ + rocksdb/utilities/merge_operators/string_append/stringappend2.h \ + rocksdb/utilities/merge_operators/string_append/stringappend.cc \ + rocksdb/utilities/merge_operators/string_append/stringappend.h \ + rocksdb/utilities/merge_operators/uint64add.cc \ + rocksdb/utilities/merge_operators.h \ + rocksdb/utilities/redis/redis_list_exception.h \ + rocksdb/utilities/redis/redis_list_iterator.h \ + rocksdb/utilities/redis/redis_lists.cc \ + rocksdb/utilities/redis/redis_lists.h \ + rocksdb/utilities/spatialdb/spatial_db.cc \ + rocksdb/utilities/spatialdb/utils.h \ + rocksdb/utilities/ttl/db_ttl_impl.cc \ + rocksdb/utilities/ttl/db_ttl_impl.h \ + rocksdb/utilities/write_batch_with_index/write_batch_with_index.cc \ + rocksdb/util/ldb_cmd.cc \ + rocksdb/util/ldb_cmd_execute_result.h \ + rocksdb/util/ldb_cmd.h \ + rocksdb/util/ldb_tool.cc \ + rocksdb/util/log_buffer.cc \ + rocksdb/util/log_buffer.h \ + rocksdb/util/logging.cc \ + rocksdb/util/logging.h \ + rocksdb/util/memenv.cc \ + rocksdb/util/mock_env.h \ + rocksdb/util/murmurhash.cc \ + rocksdb/util/murmurhash.h \ + rocksdb/util/mutable_cf_options.cc \ + rocksdb/util/mutable_cf_options.h \ + rocksdb/util/mutexlock.h \ + rocksdb/util/options_builder.cc \ + rocksdb/util/options.cc \ + rocksdb/util/options_helper.cc \ + rocksdb/util/options_helper.h \ + rocksdb/util/perf_context.cc \ + rocksdb/util/perf_context_imp.h \ + rocksdb/util/posix_logger.h \ + rocksdb/util/random.h \ + rocksdb/util/rate_limiter.cc \ + rocksdb/util/rate_limiter.h \ + rocksdb/util/scoped_arena_iterator.h \ + rocksdb/util/skiplistrep.cc \ + rocksdb/util/slice.cc \ + rocksdb/util/sst_dump_tool.cc \ + rocksdb/util/sst_dump_tool_imp.h \ + rocksdb/util/statistics.cc \ + rocksdb/util/statistics.h \ + rocksdb/util/status.cc \ + rocksdb/util/stl_wrappers.h \ + rocksdb/util/stop_watch.h \ + rocksdb/util/string_util.cc \ + rocksdb/util/string_util.h \ + rocksdb/util/sync_point.cc \ + rocksdb/util/sync_point.h \ + rocksdb/util/testharness.h \ + rocksdb/util/testutil.h \ + rocksdb/util/thread_local.cc \ + rocksdb/util/thread_local.h \ + rocksdb/util/thread_operation.h \ + rocksdb/util/thread_status_impl.cc \ + rocksdb/util/thread_status_updater.cc \ + rocksdb/util/thread_status_updater_debug.cc \ + rocksdb/util/thread_status_updater.h \ + rocksdb/util/thread_status_util.cc \ + rocksdb/util/thread_status_util_debug.cc \ + rocksdb/util/thread_status_util.h \ + rocksdb/util/vectorrep.cc \ + rocksdb/util/xfunc.cc \ + rocksdb/util/xfunc.h \ + rocksdb/util/xxhash.cc \ + rocksdb/util/xxhash.h endif # WITH_SLIBROCKSDB From 90c38b5b9735faa6f88a8125abfc83ad5a31462c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 26 Mar 2015 11:04:18 -0700 Subject: [PATCH 4/6] rocksdb: fix 32-bit build Signed-off-by: Sage Weil --- src/rocksdb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rocksdb b/src/rocksdb index df5f727d295..6ca7befb557 160000 --- a/src/rocksdb +++ b/src/rocksdb @@ -1 +1 @@ -Subproject commit df5f727d2952a3f298250c7d19991077ecb39701 +Subproject commit 6ca7befb55767784a447a5daddd09e387ec92bd3 From 002b7fdadf3b05679d420d1b567d251dec4eabc6 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 30 Mar 2015 09:33:00 -0700 Subject: [PATCH 5/6] mark rocksdb experimental Signed-off-by: Sage Weil --- src/os/KeyValueDB.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/os/KeyValueDB.cc b/src/os/KeyValueDB.cc index f7f1e30bae6..7a8948901b8 100644 --- a/src/os/KeyValueDB.cc +++ b/src/os/KeyValueDB.cc @@ -22,7 +22,8 @@ KeyValueDB *KeyValueDB::create(CephContext *cct, const string& type, } #endif #ifdef HAVE_LIBROCKSDB - if (type == "rocksdb") { + if (type == "rocksdb" && + cct->check_experimental_feature_enabled("rocksdb")) { return new RocksDBStore(cct, dir); } #endif @@ -40,7 +41,8 @@ int KeyValueDB::test_init(const string& type, const string& dir) } #endif #ifdef HAVE_LIBROCKSDB - if (type == "rocksdb"){ + if (type == "rocksdb" && + cct->check_experimental_feature_enabled("rocksdb")){ return RocksDBStore::_test_init(dir); } #endif From a4c01f38f157cb66c8ee5963b410a76b8cd803a7 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 30 Mar 2015 09:33:16 -0700 Subject: [PATCH 6/6] mark kinetic experimental Signed-off-by: Sage Weil --- src/os/KeyValueDB.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/os/KeyValueDB.cc b/src/os/KeyValueDB.cc index 7a8948901b8..d677facd297 100644 --- a/src/os/KeyValueDB.cc +++ b/src/os/KeyValueDB.cc @@ -17,7 +17,8 @@ KeyValueDB *KeyValueDB::create(CephContext *cct, const string& type, return new LevelDBStore(cct, dir); } #ifdef HAVE_KINETIC - if (type == "kinetic") { + if (type == "kinetic" && + cct->check_experimental_feature_enabled("kinetic")) { return new KineticStore(cct); } #endif @@ -36,7 +37,8 @@ int KeyValueDB::test_init(const string& type, const string& dir) return LevelDBStore::_test_init(dir); } #ifdef HAVE_KINETIC - if (type == "kinetic") { + if (type == "kinetic" && + cct->check_experimental_feature_enabled("kinetic")) { return KineticStore::_test_init(g_ceph_context); } #endif