diff --git a/HISTORY.md b/HISTORY.md index b7c58a944adad00aae504c00a7e15dc3884f5d04..ad7b4e300444d108b1cc78326b5ff1bb40a324f4 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,7 +2,8 @@ ## Unreleased ### Public API Change * CancelAllBackgroundWork() flushes all memtables for databases containing writes that have bypassed the WAL (writes issued with WriteOptions::disableWAL=true) before shutting down background threads. -* Merge options source_compaction_factor, max_grandparent_overlap_bytes and expanded_compaction_factor into max_compaction_bytes +* Merge options source_compaction_factor, max_grandparent_overlap_bytes and expanded_compaction_factor into max_compaction_bytes. +* Remove ImmutableCFOptions. ### New Features * Introduce NewClockCache, which is based on CLOCK algorithm with better concurrent performance in some cases. It can be used to replace the default LRU-based block cache and table cache. To use it, RocksDB need to be linked with TBB lib. diff --git a/db/builder.h b/db/builder.h index 62aa717c660316aa636f52ace55e24dc29e00125..e7e02362352a3dfe00473c375316317ff4c98477 100644 --- a/db/builder.h +++ b/db/builder.h @@ -12,14 +12,13 @@ #include "db/table_properties_collector.h" #include "rocksdb/comparator.h" #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/listener.h" #include "rocksdb/options.h" #include "rocksdb/status.h" #include "rocksdb/table_properties.h" #include "rocksdb/types.h" +#include "util/cf_options.h" #include "util/event_logger.h" -#include "util/mutable_cf_options.h" namespace rocksdb { diff --git a/db/column_family.h b/db/column_family.h index 8fb4d6a96d66a190a76c98fea261c638ef3f4559..66d0448e138d0c148543bace9dca86a0b5b2b75b 100644 --- a/db/column_family.h +++ b/db/column_family.h @@ -15,15 +15,15 @@ #include #include "db/memtable_list.h" -#include "db/write_batch_internal.h" -#include "db/write_controller.h" #include "db/table_cache.h" #include "db/table_properties_collector.h" +#include "db/write_batch_internal.h" +#include "db/write_controller.h" #include "rocksdb/compaction_job_stats.h" #include "rocksdb/db.h" #include "rocksdb/env.h" #include "rocksdb/options.h" -#include "util/mutable_cf_options.h" +#include "util/cf_options.h" #include "util/thread_local.h" namespace rocksdb { diff --git a/db/compaction.h b/db/compaction.h index f31d92c40206662f8366ecf22255ce8931a7aeb3..a412ffbb6a62f7cfe7cc667fa97af26ee9e76f99 100644 --- a/db/compaction.h +++ b/db/compaction.h @@ -8,10 +8,10 @@ // found in the LICENSE file. See the AUTHORS file for names of contributors. #pragma once +#include "db/version_set.h" #include "util/arena.h" #include "util/autovector.h" -#include "util/mutable_cf_options.h" -#include "db/version_set.h" +#include "util/cf_options.h" namespace rocksdb { diff --git a/db/compaction_picker.h b/db/compaction_picker.h index fca7319598754ab20a87b0d81aa25daeb41a5f24..82f792c1d7c88d7937dd170466d6e155f6d9fce8 100644 --- a/db/compaction_picker.h +++ b/db/compaction_picker.h @@ -20,8 +20,7 @@ #include "rocksdb/env.h" #include "rocksdb/options.h" #include "rocksdb/status.h" -#include "util/mutable_cf_options.h" - +#include "util/cf_options.h" namespace rocksdb { diff --git a/db/db_iter.h b/db/db_iter.h index 89db7ad384ec1f668d74a9a643b7db8c43871db8..f54e12267dc0ee95fa03e5d53e585409778bef0f 100644 --- a/db/db_iter.h +++ b/db/db_iter.h @@ -10,11 +10,12 @@ #pragma once #include #include +#include "db/dbformat.h" #include "rocksdb/db.h" #include "rocksdb/iterator.h" -#include "db/dbformat.h" #include "util/arena.h" #include "util/autovector.h" +#include "util/cf_options.h" namespace rocksdb { diff --git a/db/memtable.h b/db/memtable.h index 62931613e2e78c91cc6c0d5e1994cdaeae0197de..e9e370a41994aaae73041ccd125a365e221f6dc0 100644 --- a/db/memtable.h +++ b/db/memtable.h @@ -15,17 +15,16 @@ #include #include #include "db/dbformat.h" +#include "db/memtable_allocator.h" #include "db/skiplist.h" #include "db/version_edit.h" #include "rocksdb/db.h" #include "rocksdb/env.h" #include "rocksdb/memtablerep.h" -#include "rocksdb/immutable_options.h" -#include "db/memtable_allocator.h" +#include "util/cf_options.h" #include "util/concurrent_arena.h" #include "util/dynamic_bloom.h" #include "util/instrumented_mutex.h" -#include "util/mutable_cf_options.h" namespace rocksdb { diff --git a/db/repair.cc b/db/repair.cc index a46e33f2dd8aa97c89d8ea1e3b1d0ec19be2bcdf..9ba49fb2f22c9693144a8413fbb7119364db5e9c 100644 --- a/db/repair.cc +++ b/db/repair.cc @@ -78,10 +78,10 @@ #include "rocksdb/comparator.h" #include "rocksdb/db.h" #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/options.h" #include "rocksdb/write_buffer_manager.h" #include "table/scoped_arena_iterator.h" +#include "util/cf_options.h" #include "util/file_reader_writer.h" #include "util/string_util.h" diff --git a/db/table_cache.h b/db/table_cache.h index cdd0f23dcb23ef874083e86cb58abbb9ae6fe1f8..402b94fe59696ccd2ce08763138e4fe4988487e3 100644 --- a/db/table_cache.h +++ b/db/table_cache.h @@ -18,9 +18,10 @@ #include "port/port.h" #include "rocksdb/cache.h" #include "rocksdb/env.h" -#include "rocksdb/table.h" #include "rocksdb/options.h" +#include "rocksdb/table.h" #include "table/table_reader.h" +#include "util/cf_options.h" namespace rocksdb { diff --git a/db/table_properties_collector_test.cc b/db/table_properties_collector_test.cc index 20331726736710ac2d00d1d897855be98c129b1a..6b0cf45a32b77c0f123679db3b3a897fbf52f59d 100644 --- a/db/table_properties_collector_test.cc +++ b/db/table_properties_collector_test.cc @@ -12,12 +12,12 @@ #include "db/db_impl.h" #include "db/dbformat.h" #include "db/table_properties_collector.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/table.h" #include "table/block_based_table_factory.h" #include "table/meta_blocks.h" #include "table/plain_table_factory.h" #include "table/table_builder.h" +#include "util/cf_options.h" #include "util/coding.h" #include "util/file_reader_writer.h" #include "util/testharness.h" diff --git a/include/rocksdb/db.h b/include/rocksdb/db.h index 0e3a3415be4eb51b8f22c6e21b16e6c69e4e5da2..280e919e4868984ac737577b132112284a02100d 100644 --- a/include/rocksdb/db.h +++ b/include/rocksdb/db.h @@ -15,7 +15,6 @@ #include #include #include -#include "rocksdb/immutable_options.h" #include "rocksdb/iterator.h" #include "rocksdb/listener.h" #include "rocksdb/metadata.h" diff --git a/include/rocksdb/immutable_options.h b/include/rocksdb/immutable_options.h deleted file mode 100644 index 9417aa2e977f8855b580a51efcc5ed68b7846986..0000000000000000000000000000000000000000 --- a/include/rocksdb/immutable_options.h +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. -// This source code is licensed under the BSD-style license found in the -// LICENSE file in the root directory of this source tree. An additional grant -// of patent rights can be found in the PATENTS file in the same directory. - -#pragma once - -#include -#include -#include "rocksdb/options.h" - -namespace rocksdb { - -// ImmutableCFOptions is a data struct used by RocksDB internal. It contains a -// subset of Options that should not be changed during the entire lifetime -// of DB. You shouldn't need to access this data structure unless you are -// implementing a new TableFactory. Raw pointers defined in this struct do -// not have ownership to the data they point to. Options contains shared_ptr -// to these data. -struct ImmutableCFOptions { - explicit ImmutableCFOptions(const Options& options); - - CompactionStyle compaction_style; - - CompactionOptionsUniversal compaction_options_universal; - CompactionOptionsFIFO compaction_options_fifo; - - const SliceTransform* prefix_extractor; - - const Comparator* comparator; - - MergeOperator* merge_operator; - - const CompactionFilter* compaction_filter; - - CompactionFilterFactory* compaction_filter_factory; - - bool inplace_update_support; - - UpdateStatus (*inplace_callback)(char* existing_value, - uint32_t* existing_value_size, - Slice delta_value, - std::string* merged_value); - - Logger* info_log; - - Statistics* statistics; - - InfoLogLevel info_log_level; - - Env* env; - - uint64_t delayed_write_rate; - - // Allow the OS to mmap file for reading sst tables. Default: false - bool allow_mmap_reads; - - // Allow the OS to mmap file for writing. Default: false - bool allow_mmap_writes; - - std::vector db_paths; - - MemTableRepFactory* memtable_factory; - - TableFactory* table_factory; - - Options::TablePropertiesCollectorFactories - table_properties_collector_factories; - - bool advise_random_on_open; - - // This options is required by PlainTableReader. May need to move it - // to PlainTalbeOptions just like bloom_bits_per_key - uint32_t bloom_locality; - - bool purge_redundant_kvs_while_flush; - - bool disable_data_sync; - - bool use_fsync; - - std::vector compression_per_level; - - CompressionType bottommost_compression; - - CompressionOptions compression_opts; - - bool level_compaction_dynamic_level_bytes; - - Options::AccessHint access_hint_on_compaction_start; - - bool new_table_reader_for_compaction_inputs; - - size_t compaction_readahead_size; - - int num_levels; - - bool optimize_filters_for_hits; - - // A vector of EventListeners which call-back functions will be called - // when specific RocksDB event happens. - std::vector> listeners; - - std::shared_ptr row_cache; -}; - -} // namespace rocksdb diff --git a/include/rocksdb/sst_file_writer.h b/include/rocksdb/sst_file_writer.h index 530bed186eaf504026810e398df1e6c5345bbab4..0f8bf4a3083ebceec5f103d41c9e89cd144cbf5c 100644 --- a/include/rocksdb/sst_file_writer.h +++ b/include/rocksdb/sst_file_writer.h @@ -6,7 +6,7 @@ #pragma once #include #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" +#include "rocksdb/options.h" #include "rocksdb/types.h" namespace rocksdb { diff --git a/include/rocksdb/table.h b/include/rocksdb/table.h index 2342f724cb31d09738fc4b3f89c5cd73177f9d32..9eb5968cfdc16f743be534caebecb8e1aa814388 100644 --- a/include/rocksdb/table.h +++ b/include/rocksdb/table.h @@ -22,7 +22,6 @@ #include "rocksdb/cache.h" #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/iterator.h" #include "rocksdb/options.h" #include "rocksdb/status.h" @@ -435,7 +434,6 @@ class TableFactory { // (4) When running Repairer, it creates a table builder to convert logs to // SST files (In Repairer::ConvertLogToTable() by calling BuildTable()) // - // ImmutableCFOptions is a subset of Options that can not be altered. // Multiple configured can be acceseed from there, including and not limited // to compression options. file is a handle of a writable file. // It is the caller's responsibility to keep the file open and close the file diff --git a/java/rocksjni/write_batch.cc b/java/rocksjni/write_batch.cc index 2ae95870255e445664d9e587442bdcc0e9b7c014..67d57963afcbcc14feb3a2b3851bb131669ae693 100644 --- a/java/rocksjni/write_batch.cc +++ b/java/rocksjni/write_batch.cc @@ -13,7 +13,6 @@ #include "include/org_rocksdb_WriteBatch_Handler.h" #include "rocksdb/db.h" #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/memtablerep.h" #include "rocksdb/status.h" #include "rocksdb/write_batch.h" diff --git a/java/rocksjni/write_batch_test.cc b/java/rocksjni/write_batch_test.cc index 371744e4f96f1374ef2ab1f338cfde95764d119c..40b82d9d1ce86620ce5aadcea783a24426633088 100644 --- a/java/rocksjni/write_batch_test.cc +++ b/java/rocksjni/write_batch_test.cc @@ -15,13 +15,13 @@ #include "include/org_rocksdb_WriteBatch_Handler.h" #include "rocksdb/db.h" #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/memtablerep.h" #include "rocksdb/status.h" #include "rocksdb/write_batch.h" #include "rocksdb/write_buffer_manager.h" #include "rocksjni/portal.h" #include "table/scoped_arena_iterator.h" +#include "util/cf_options.h" #include "util/logging.h" #include "util/testharness.h" diff --git a/src.mk b/src.mk index 76299958e3ca4c7af3490640834b9cf1d867a3b5..35a877575bde7b16b00b6b92374703ff7b7e213b 100644 --- a/src.mk +++ b/src.mk @@ -156,12 +156,12 @@ LIB_SOURCES = \ utilities/date_tiered/date_tiered_db_impl.cc \ utilities/write_batch_with_index/write_batch_with_index.cc \ utilities/write_batch_with_index/write_batch_with_index_internal.cc \ + util/cf_options.cc \ util/event_logger.cc \ util/log_buffer.cc \ util/logging.cc \ util/memenv.cc \ util/murmurhash.cc \ - util/mutable_cf_options.cc \ util/options.cc \ util/options_helper.cc \ util/options_parser.cc \ diff --git a/table/block_based_table_reader.h b/table/block_based_table_reader.h index 41c33c33cf0b8ea65e5c71f03688fb80d8644c1f..94561059d1f6208cc9968a25cb9e6f1771f1d20d 100644 --- a/table/block_based_table_reader.h +++ b/table/block_based_table_reader.h @@ -22,6 +22,7 @@ #include "rocksdb/table.h" #include "table/table_properties_internal.h" #include "table/table_reader.h" +#include "util/cf_options.h" #include "util/coding.h" #include "util/file_reader_writer.h" diff --git a/table/cuckoo_table_reader.h b/table/cuckoo_table_reader.h index 5e3e5528a9fbc58f44c963e89ed25983354862c0..7bfc72a0bf2cc734b9f38c78cd71e91d7aa478c0 100644 --- a/table/cuckoo_table_reader.h +++ b/table/cuckoo_table_reader.h @@ -18,6 +18,7 @@ #include "rocksdb/env.h" #include "rocksdb/options.h" #include "table/table_reader.h" +#include "util/cf_options.h" #include "util/file_reader_writer.h" namespace rocksdb { diff --git a/table/format.h b/table/format.h index 571659d596c6f570c43d24d5e0e6cce421e69cd1..b885103ad901953f574a151133fc38c6a6bb105f 100644 --- a/table/format.h +++ b/table/format.h @@ -17,6 +17,7 @@ #include "port/port.h" // noexcept #include "table/persistent_cache_helper.h" +#include "util/cf_options.h" namespace rocksdb { diff --git a/table/plain_table_index.h b/table/plain_table_index.h index ab2be3d1e269be898a1d0b32f3175e039acc3432..c75abc86a2e95605f821ef2e50c03f2edb096d46 100644 --- a/table/plain_table_index.h +++ b/table/plain_table_index.h @@ -12,10 +12,11 @@ #include "db/dbformat.h" #include "rocksdb/options.h" -#include "util/murmurhash.h" -#include "util/hash.h" #include "util/arena.h" +#include "util/cf_options.h" +#include "util/hash.h" #include "util/histogram.h" +#include "util/murmurhash.h" namespace rocksdb { diff --git a/table/table_builder.h b/table/table_builder.h index be19636f6dece7ee0a07b5ad1a159b9a65446dd3..aafd3ad8f6be6b3ca2ebd9cf7ee1758f733e03bb 100644 --- a/table/table_builder.h +++ b/table/table_builder.h @@ -16,8 +16,8 @@ #include "db/table_properties_collector.h" #include "rocksdb/options.h" #include "rocksdb/table_properties.h" +#include "util/cf_options.h" #include "util/file_reader_writer.h" -#include "util/mutable_cf_options.h" namespace rocksdb { diff --git a/tools/sst_dump_tool.cc b/tools/sst_dump_tool.cc index 4b8b92e6bb7c075acd4dfd58b234c444c4941947..a2f8d08d9f9332acd4e387ff18f7eaa450d9a9b9 100644 --- a/tools/sst_dump_tool.cc +++ b/tools/sst_dump_tool.cc @@ -21,7 +21,6 @@ #include "db/write_batch_internal.h" #include "rocksdb/db.h" #include "rocksdb/env.h" -#include "rocksdb/immutable_options.h" #include "rocksdb/iterator.h" #include "rocksdb/slice_transform.h" #include "rocksdb/status.h" @@ -35,8 +34,9 @@ #include "table/meta_blocks.h" #include "table/plain_table_factory.h" #include "table/table_reader.h" -#include "util/random.h" +#include "util/cf_options.h" #include "util/compression.h" +#include "util/random.h" #include "port/port.h" diff --git a/tools/sst_dump_tool_imp.h b/tools/sst_dump_tool_imp.h index b518866cc885c082678cfcc9a9fdf764acf1fc03..0ec8a7fc7c3cff0cd68ba5143500dd21f784ebdd 100644 --- a/tools/sst_dump_tool_imp.h +++ b/tools/sst_dump_tool_imp.h @@ -10,6 +10,7 @@ #include #include #include "db/dbformat.h" +#include "util/cf_options.h" #include "util/file_reader_writer.h" namespace rocksdb { diff --git a/util/mutable_cf_options.cc b/util/cf_options.cc similarity index 64% rename from util/mutable_cf_options.cc rename to util/cf_options.cc index b6d84c62379e7c0ceeb7bd213e6a20b73b0cb610..a24bc24e8100252b8e05cf3c965ebf88088c759a 100644 --- a/util/mutable_cf_options.cc +++ b/util/cf_options.cc @@ -3,7 +3,7 @@ // LICENSE file in the root directory of this source tree. An additional grant // of patent rights can be found in the PATENTS file in the same directory. -#include "util/mutable_cf_options.h" +#include "util/cf_options.h" #ifndef __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS @@ -16,10 +16,50 @@ #include "port/port.h" #include "rocksdb/env.h" #include "rocksdb/options.h" -#include "rocksdb/immutable_options.h" namespace rocksdb { +ImmutableCFOptions::ImmutableCFOptions(const Options& options) + : compaction_style(options.compaction_style), + compaction_options_universal(options.compaction_options_universal), + compaction_options_fifo(options.compaction_options_fifo), + prefix_extractor(options.prefix_extractor.get()), + comparator(options.comparator), + merge_operator(options.merge_operator.get()), + compaction_filter(options.compaction_filter), + compaction_filter_factory(options.compaction_filter_factory.get()), + inplace_update_support(options.inplace_update_support), + inplace_callback(options.inplace_callback), + info_log(options.info_log.get()), + statistics(options.statistics.get()), + env(options.env), + delayed_write_rate(options.delayed_write_rate), + allow_mmap_reads(options.allow_mmap_reads), + allow_mmap_writes(options.allow_mmap_writes), + db_paths(options.db_paths), + memtable_factory(options.memtable_factory.get()), + table_factory(options.table_factory.get()), + table_properties_collector_factories( + options.table_properties_collector_factories), + advise_random_on_open(options.advise_random_on_open), + bloom_locality(options.bloom_locality), + purge_redundant_kvs_while_flush(options.purge_redundant_kvs_while_flush), + disable_data_sync(options.disableDataSync), + use_fsync(options.use_fsync), + compression_per_level(options.compression_per_level), + bottommost_compression(options.bottommost_compression), + compression_opts(options.compression_opts), + level_compaction_dynamic_level_bytes( + options.level_compaction_dynamic_level_bytes), + access_hint_on_compaction_start(options.access_hint_on_compaction_start), + new_table_reader_for_compaction_inputs( + options.new_table_reader_for_compaction_inputs), + compaction_readahead_size(options.compaction_readahead_size), + num_levels(options.num_levels), + optimize_filters_for_hits(options.optimize_filters_for_hits), + listeners(options.listeners), + row_cache(options.row_cache) {} + // Multiple two operands. If they overflow, return op1. uint64_t MultiplyCheckOverflow(uint64_t op1, int op2) { if (op1 == 0) { diff --git a/util/mutable_cf_options.h b/util/cf_options.h similarity index 69% rename from util/mutable_cf_options.h rename to util/cf_options.h index b0f804f103cbce0e050f6a3b582af38700b45568..6a9db52d6497b41d8e050ead89c13c2cc1ba9d4e 100644 --- a/util/mutable_cf_options.h +++ b/util/cf_options.h @@ -5,13 +5,105 @@ #pragma once +#include #include -#include "rocksdb/immutable_options.h" + #include "rocksdb/options.h" #include "util/compression.h" namespace rocksdb { +// ImmutableCFOptions is a data struct used by RocksDB internal. It contains a +// subset of Options that should not be changed during the entire lifetime +// of DB. Raw pointers defined in this struct do not have ownership to the data +// they point to. Options contains shared_ptr to these data. +struct ImmutableCFOptions { + explicit ImmutableCFOptions(const Options& options); + + CompactionStyle compaction_style; + + CompactionOptionsUniversal compaction_options_universal; + CompactionOptionsFIFO compaction_options_fifo; + + const SliceTransform* prefix_extractor; + + const Comparator* comparator; + + MergeOperator* merge_operator; + + const CompactionFilter* compaction_filter; + + CompactionFilterFactory* compaction_filter_factory; + + bool inplace_update_support; + + UpdateStatus (*inplace_callback)(char* existing_value, + uint32_t* existing_value_size, + Slice delta_value, + std::string* merged_value); + + Logger* info_log; + + Statistics* statistics; + + InfoLogLevel info_log_level; + + Env* env; + + uint64_t delayed_write_rate; + + // Allow the OS to mmap file for reading sst tables. Default: false + bool allow_mmap_reads; + + // Allow the OS to mmap file for writing. Default: false + bool allow_mmap_writes; + + std::vector db_paths; + + MemTableRepFactory* memtable_factory; + + TableFactory* table_factory; + + Options::TablePropertiesCollectorFactories + table_properties_collector_factories; + + bool advise_random_on_open; + + // This options is required by PlainTableReader. May need to move it + // to PlainTalbeOptions just like bloom_bits_per_key + uint32_t bloom_locality; + + bool purge_redundant_kvs_while_flush; + + bool disable_data_sync; + + bool use_fsync; + + std::vector compression_per_level; + + CompressionType bottommost_compression; + + CompressionOptions compression_opts; + + bool level_compaction_dynamic_level_bytes; + + Options::AccessHint access_hint_on_compaction_start; + + bool new_table_reader_for_compaction_inputs; + + size_t compaction_readahead_size; + + int num_levels; + + bool optimize_filters_for_hits; + + // A vector of EventListeners which call-back functions will be called + // when specific RocksDB event happens. + std::vector> listeners; + + std::shared_ptr row_cache; +}; + struct MutableCFOptions { MutableCFOptions(const Options& options, const ImmutableCFOptions& ioptions) : write_buffer_size(options.write_buffer_size), diff --git a/util/options.cc b/util/options.cc index 15216966738a56c6b4329102b9869d9555f4a111..87068bd7e7eb489d9484a4a368174b4d8406960f 100644 --- a/util/options.cc +++ b/util/options.cc @@ -8,7 +8,6 @@ // found in the LICENSE file. See the AUTHORS file for names of contributors. #include "rocksdb/options.h" -#include "rocksdb/immutable_options.h" #ifndef __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS @@ -36,47 +35,6 @@ namespace rocksdb { -ImmutableCFOptions::ImmutableCFOptions(const Options& options) - : compaction_style(options.compaction_style), - compaction_options_universal(options.compaction_options_universal), - compaction_options_fifo(options.compaction_options_fifo), - prefix_extractor(options.prefix_extractor.get()), - comparator(options.comparator), - merge_operator(options.merge_operator.get()), - compaction_filter(options.compaction_filter), - compaction_filter_factory(options.compaction_filter_factory.get()), - inplace_update_support(options.inplace_update_support), - inplace_callback(options.inplace_callback), - info_log(options.info_log.get()), - statistics(options.statistics.get()), - env(options.env), - delayed_write_rate(options.delayed_write_rate), - allow_mmap_reads(options.allow_mmap_reads), - allow_mmap_writes(options.allow_mmap_writes), - db_paths(options.db_paths), - memtable_factory(options.memtable_factory.get()), - table_factory(options.table_factory.get()), - table_properties_collector_factories( - options.table_properties_collector_factories), - advise_random_on_open(options.advise_random_on_open), - bloom_locality(options.bloom_locality), - purge_redundant_kvs_while_flush(options.purge_redundant_kvs_while_flush), - disable_data_sync(options.disableDataSync), - use_fsync(options.use_fsync), - compression_per_level(options.compression_per_level), - bottommost_compression(options.bottommost_compression), - compression_opts(options.compression_opts), - level_compaction_dynamic_level_bytes( - options.level_compaction_dynamic_level_bytes), - access_hint_on_compaction_start(options.access_hint_on_compaction_start), - new_table_reader_for_compaction_inputs( - options.new_table_reader_for_compaction_inputs), - compaction_readahead_size(options.compaction_readahead_size), - num_levels(options.num_levels), - optimize_filters_for_hits(options.optimize_filters_for_hits), - listeners(options.listeners), - row_cache(options.row_cache) {} - ColumnFamilyOptions::ColumnFamilyOptions() : comparator(BytewiseComparator()), merge_operator(nullptr), diff --git a/util/options_helper.h b/util/options_helper.h index b593070682bc3af524fae2974ade0b0b9a680096..f0b9e9b9778d89abdfcef3302ac9598a9751faef 100644 --- a/util/options_helper.h +++ b/util/options_helper.h @@ -12,7 +12,7 @@ #include "rocksdb/options.h" #include "rocksdb/status.h" #include "rocksdb/table.h" -#include "util/mutable_cf_options.h" +#include "util/cf_options.h" #ifndef ROCKSDB_LITE namespace rocksdb { diff --git a/utilities/blob_db/blob_db.cc b/utilities/blob_db/blob_db.cc index fe37d5a19355236e8bb9591193c0f49796e26a38..c843f95106604397bc378c50e605607933df04ab 100644 --- a/utilities/blob_db/blob_db.cc +++ b/utilities/blob_db/blob_db.cc @@ -13,6 +13,7 @@ #include "table/block.h" #include "table/block_based_table_builder.h" #include "table/block_builder.h" +#include "util/cf_options.h" #include "util/crc32c.h" #include "util/file_reader_writer.h" #include "util/instrumented_mutex.h" diff --git a/utilities/column_aware_encoding_util.h b/utilities/column_aware_encoding_util.h index a1f33139349a3223c8e3b47cfeaaecbfd67b6829..0ee0a2634a725f6218c77c584993634526299684 100644 --- a/utilities/column_aware_encoding_util.h +++ b/utilities/column_aware_encoding_util.h @@ -9,11 +9,11 @@ #include #include "db/dbformat.h" #include "include/rocksdb/env.h" -#include "include/rocksdb/immutable_options.h" #include "include/rocksdb/listener.h" #include "include/rocksdb/options.h" #include "include/rocksdb/status.h" #include "table/block_based_table_reader.h" +#include "util/cf_options.h" namespace rocksdb { diff --git a/utilities/date_tiered/date_tiered_db_impl.h b/utilities/date_tiered/date_tiered_db_impl.h index 18e0e076a24e4ff69017015ae64426d3c733601b..bce5feefb9f40a050e254bf661c0a0021047e57e 100644 --- a/utilities/date_tiered/date_tiered_db_impl.h +++ b/utilities/date_tiered/date_tiered_db_impl.h @@ -12,6 +12,7 @@ #include "rocksdb/db.h" #include "rocksdb/utilities/date_tiered_db.h" +#include "util/cf_options.h" #include "util/instrumented_mutex.h" namespace rocksdb {