From 3231a2e58121f3f02fb11e279ee40f8982570b1c Mon Sep 17 00:00:00 2001 From: Aubin Sanyal Date: Fri, 15 Feb 2019 09:48:44 -0800 Subject: [PATCH] Deprecate ttl option from CompactionOptionsFIFO (#4965) Summary: We introduced ttl option in CompactionOptionsFIFO when ttl-based file deletion (compaction) was supported only as part of FIFO Compaction. But with the extension of ttl semantics even to Level compaction, CompactionOptionsFIFO.ttl can now be deprecated. Instead we will start using ColumnFamilyOptions.ttl for FIFO compaction as well. Pull Request resolved: https://github.com/facebook/rocksdb/pull/4965 Differential Revision: D14072960 Pulled By: sagar0 fbshipit-source-id: c98cc2ae695a28136295787cd88d36a220fc219e --- HISTORY.md | 1 + db/compaction_picker_fifo.cc | 9 ++--- db/db_impl_open.cc | 2 +- db/db_options_test.cc | 14 +++---- db/db_properties_test.cc | 2 +- db/db_test.cc | 39 ++++++++++--------- db/version_set.cc | 5 +-- include/rocksdb/advanced_options.h | 23 +++++------ java/rocksjni/compaction_options_fifo.cc | 24 ------------ .../org/rocksdb/CompactionOptionsFIFO.java | 33 ---------------- .../rocksdb/CompactionOptionsFIFOTest.java | 9 ----- options/cf_options.cc | 2 - options/options.cc | 2 - options/options_helper.cc | 6 +-- options/options_parser.cc | 2 +- options/options_settable_test.cc | 2 +- tools/db_bench_tool.cc | 3 +- util/testutil.cc | 1 - 18 files changed, 52 insertions(+), 127 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 42b6e8b5f..e11d4450d 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -25,6 +25,7 @@ * Remove PlainTable's store_index_in_file feature. When opening an existing DB with index in SST files, the index and bloom filter will still be rebuild while SST files are opened, in the same way as there is no index in the file. * Remove CuckooHash memtable. * The counter stat `number.block.not_compressed` now also counts blocks not compressed due to poor compression ratio. +* Remove ttl option from `CompactionOptionsFIFO`. The option has been deprecated and ttl in `ColumnFamilyOptions` is used instead. * Support SST file ingestion across multiple column families via DB::IngestExternalFiles. See the function's comment about atomicity. * Remove Lua compaction filter. diff --git a/db/compaction_picker_fifo.cc b/db/compaction_picker_fifo.cc index fd89b65eb..9229b2cfb 100644 --- a/db/compaction_picker_fifo.cc +++ b/db/compaction_picker_fifo.cc @@ -41,7 +41,7 @@ bool FIFOCompactionPicker::NeedsCompaction( Compaction* FIFOCompactionPicker::PickTTLCompaction( const std::string& cf_name, const MutableCFOptions& mutable_cf_options, VersionStorageInfo* vstorage, LogBuffer* log_buffer) { - assert(mutable_cf_options.compaction_options_fifo.ttl > 0); + assert(mutable_cf_options.ttl > 0); const int kLevel0 = 0; const std::vector& level_files = vstorage->LevelFiles(kLevel0); @@ -63,7 +63,7 @@ Compaction* FIFOCompactionPicker::PickTTLCompaction( inputs[0].level = 0; // avoid underflow - if (current_time > mutable_cf_options.compaction_options_fifo.ttl) { + if (current_time > mutable_cf_options.ttl) { for (auto ritr = level_files.rbegin(); ritr != level_files.rend(); ++ritr) { auto f = *ritr; if (f->fd.table_reader != nullptr && @@ -71,8 +71,7 @@ Compaction* FIFOCompactionPicker::PickTTLCompaction( auto creation_time = f->fd.table_reader->GetTableProperties()->creation_time; if (creation_time == 0 || - creation_time >= (current_time - - mutable_cf_options.compaction_options_fifo.ttl)) { + creation_time >= (current_time - mutable_cf_options.ttl)) { break; } total_size -= f->compensated_file_size; @@ -201,7 +200,7 @@ Compaction* FIFOCompactionPicker::PickCompaction( assert(vstorage->num_levels() == 1); Compaction* c = nullptr; - if (mutable_cf_options.compaction_options_fifo.ttl > 0) { + if (mutable_cf_options.ttl > 0) { c = PickTTLCompaction(cf_name, mutable_cf_options, vstorage, log_buffer); } if (c == nullptr) { diff --git a/db/db_impl_open.cc b/db/db_impl_open.cc index 219be45a6..e1e314098 100644 --- a/db/db_impl_open.cc +++ b/db/db_impl_open.cc @@ -176,7 +176,7 @@ static Status ValidateOptions( return s; } - if (cfd.options.ttl > 0 || cfd.options.compaction_options_fifo.ttl > 0) { + if (cfd.options.ttl > 0) { if (db_options.max_open_files != -1) { return Status::NotSupported( "TTL is only supported when files are always " diff --git a/db/db_options_test.cc b/db/db_options_test.cc index 1f4e99073..892ee60f9 100644 --- a/db/db_options_test.cc +++ b/db/db_options_test.cc @@ -628,9 +628,9 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) { env_->time_elapse_only_sleep_ = false; options.env = env_; - // Test dynamically changing compaction_options_fifo.ttl + // Test dynamically changing ttl. env_->addon_time_.store(0); - options.compaction_options_fifo.ttl = 1 * 60 * 60; // 1 hour + options.ttl = 1 * 60 * 60; // 1 hour ASSERT_OK(TryReopen(options)); Random rnd(301); @@ -648,13 +648,13 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) { env_->addon_time_.fetch_add(61); // No files should be compacted as ttl is set to 1 hour. - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 3600); + ASSERT_EQ(dbfull()->GetOptions().ttl, 3600); dbfull()->CompactRange(CompactRangeOptions(), nullptr, nullptr); ASSERT_EQ(NumTableFilesAtLevel(0), 10); // Set ttl to 1 minute. So all files should get deleted. - ASSERT_OK(dbfull()->SetOptions({{"compaction_options_fifo", "{ttl=60;}"}})); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 60); + ASSERT_OK(dbfull()->SetOptions({{"ttl", "60"}})); + ASSERT_EQ(dbfull()->GetOptions().ttl, 60); dbfull()->CompactRange(CompactRangeOptions(), nullptr, nullptr); ASSERT_OK(dbfull()->TEST_WaitForCompact()); ASSERT_EQ(NumTableFilesAtLevel(0), 0); @@ -662,7 +662,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) { // Test dynamically changing compaction_options_fifo.max_table_files_size env_->addon_time_.store(0); options.compaction_options_fifo.max_table_files_size = 500 << 10; // 00KB - options.compaction_options_fifo.ttl = 0; + options.ttl = 0; DestroyAndReopen(options); for (int i = 0; i < 10; i++) { @@ -692,7 +692,7 @@ TEST_F(DBOptionsTest, SetFIFOCompactionOptions) { // Test dynamically changing compaction_options_fifo.allow_compaction options.compaction_options_fifo.max_table_files_size = 500 << 10; // 500KB - options.compaction_options_fifo.ttl = 0; + options.ttl = 0; options.compaction_options_fifo.allow_compaction = false; options.level0_file_num_compaction_trigger = 6; DestroyAndReopen(options); diff --git a/db/db_properties_test.cc b/db/db_properties_test.cc index 69266651e..1a988f5ea 100644 --- a/db/db_properties_test.cc +++ b/db/db_properties_test.cc @@ -1432,7 +1432,7 @@ TEST_F(DBPropertiesTest, EstimateOldestKeyTime) { } options.compaction_style = kCompactionStyleFIFO; - options.compaction_options_fifo.ttl = 300; + options.ttl = 300; options.compaction_options_fifo.allow_compaction = false; DestroyAndReopen(options); diff --git a/db/db_test.cc b/db/db_test.cc index 2f1b90f97..940391ef3 100644 --- a/db/db_test.cc +++ b/db/db_test.cc @@ -3083,7 +3083,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLAndMaxOpenFilesTest) { Options options; options.compaction_style = kCompactionStyleFIFO; options.create_if_missing = true; - options.compaction_options_fifo.ttl = 600; // seconds + options.ttl = 600; // seconds // Check that it is not supported with max_open_files != -1. options.max_open_files = 100; @@ -3099,7 +3099,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLAndVariousTableFormatsTest) { Options options; options.compaction_style = kCompactionStyleFIFO; options.create_if_missing = true; - options.compaction_options_fifo.ttl = 600; // seconds + options.ttl = 600; // seconds options = CurrentOptions(options); options.table_factory.reset(NewBlockBasedTableFactory()); @@ -3130,7 +3130,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLTest) { env_->addon_time_.store(0); options.compaction_options_fifo.max_table_files_size = 150 << 10; // 150KB options.compaction_options_fifo.allow_compaction = false; - options.compaction_options_fifo.ttl = 1 * 60 * 60 ; // 1 hour + options.ttl = 1 * 60 * 60 ; // 1 hour options = CurrentOptions(options); DestroyAndReopen(options); @@ -3165,7 +3165,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLTest) { { options.compaction_options_fifo.max_table_files_size = 150 << 10; // 150KB options.compaction_options_fifo.allow_compaction = false; - options.compaction_options_fifo.ttl = 1 * 60 * 60; // 1 hour + options.ttl = 1 * 60 * 60; // 1 hour options = CurrentOptions(options); DestroyAndReopen(options); @@ -3207,7 +3207,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLTest) { options.write_buffer_size = 10 << 10; // 10KB options.compaction_options_fifo.max_table_files_size = 150 << 10; // 150KB options.compaction_options_fifo.allow_compaction = false; - options.compaction_options_fifo.ttl = 1 * 60 * 60; // 1 hour + options.ttl = 1 * 60 * 60; // 1 hour options = CurrentOptions(options); DestroyAndReopen(options); @@ -3244,7 +3244,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLTest) { { options.compaction_options_fifo.max_table_files_size = 150 << 10; // 150KB options.compaction_options_fifo.allow_compaction = true; - options.compaction_options_fifo.ttl = 1 * 60 * 60; // 1 hour + options.ttl = 1 * 60 * 60; // 1 hour options.level0_file_num_compaction_trigger = 6; options = CurrentOptions(options); DestroyAndReopen(options); @@ -3288,7 +3288,7 @@ TEST_F(DBTest, FIFOCompactionWithTTLTest) { options.write_buffer_size = 20 << 10; // 20K options.compaction_options_fifo.max_table_files_size = 1500 << 10; // 1.5MB options.compaction_options_fifo.allow_compaction = true; - options.compaction_options_fifo.ttl = 1 * 60 * 60; // 1 hour + options.ttl = 1 * 60 * 60; // 1 hour options.level0_file_num_compaction_trigger = 6; options = CurrentOptions(options); DestroyAndReopen(options); @@ -4587,7 +4587,7 @@ TEST_F(DBTest, DynamicCompactionOptions) { ASSERT_LT(NumTableFilesAtLevel(0), 4); } -// Test dynamic FIFO copmaction options. +// Test dynamic FIFO compaction options. // This test covers just option parsing and makes sure that the options are // correctly assigned. Also look at DBOptionsTest.SetFIFOCompactionOptions // test which makes sure that the FIFO compaction funcionality is working @@ -4601,7 +4601,7 @@ TEST_F(DBTest, DynamicFIFOCompactionOptions) { // Initial defaults ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 1024 * 1024 * 1024); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 0); + ASSERT_EQ(dbfull()->GetOptions().ttl, 0); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, false); @@ -4609,21 +4609,21 @@ TEST_F(DBTest, DynamicFIFOCompactionOptions) { {{"compaction_options_fifo", "{max_table_files_size=23;}"}})); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 23); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 0); + ASSERT_EQ(dbfull()->GetOptions().ttl, 0); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, false); - ASSERT_OK(dbfull()->SetOptions({{"compaction_options_fifo", "{ttl=97}"}})); + ASSERT_OK(dbfull()->SetOptions({{"ttl", "97"}})); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 23); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 97); + ASSERT_EQ(dbfull()->GetOptions().ttl, 97); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, false); - ASSERT_OK(dbfull()->SetOptions({{"compaction_options_fifo", "{ttl=203;}"}})); + ASSERT_OK(dbfull()->SetOptions({{"ttl", "203"}})); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 23); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 203); + ASSERT_EQ(dbfull()->GetOptions().ttl, 203); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, false); @@ -4631,24 +4631,25 @@ TEST_F(DBTest, DynamicFIFOCompactionOptions) { {{"compaction_options_fifo", "{allow_compaction=true;}"}})); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 23); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 203); + ASSERT_EQ(dbfull()->GetOptions().ttl, 203); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, true); ASSERT_OK(dbfull()->SetOptions( - {{"compaction_options_fifo", "{max_table_files_size=31;ttl=19;}"}})); + {{"compaction_options_fifo", "{max_table_files_size=31;}"}})); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 31); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 19); + ASSERT_EQ(dbfull()->GetOptions().ttl, 203); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, true); ASSERT_OK(dbfull()->SetOptions( {{"compaction_options_fifo", - "{max_table_files_size=51;ttl=49;allow_compaction=true;}"}})); + "{max_table_files_size=51;allow_compaction=true;}"}})); + ASSERT_OK(dbfull()->SetOptions({{"ttl", "49"}})); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.max_table_files_size, 51); - ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.ttl, 49); + ASSERT_EQ(dbfull()->GetOptions().ttl, 49); ASSERT_EQ(dbfull()->GetOptions().compaction_options_fifo.allow_compaction, true); } diff --git a/db/version_set.cc b/db/version_set.cc index 074077b0a..32fe23589 100644 --- a/db/version_set.cc +++ b/db/version_set.cc @@ -1597,8 +1597,7 @@ uint32_t GetExpiredTtlFilesCount(const ImmutableCFOptions& ioptions, auto creation_time = f->fd.table_reader->GetTableProperties()->creation_time; if (creation_time > 0 && - creation_time < (current_time - - mutable_cf_options.compaction_options_fifo.ttl)) { + creation_time < (current_time - mutable_cf_options.ttl)) { ttl_expired_files_count++; } } @@ -1653,7 +1652,7 @@ void VersionStorageInfo::ComputeCompactionScore( mutable_cf_options.level0_file_num_compaction_trigger, score); } - if (mutable_cf_options.compaction_options_fifo.ttl > 0) { + if (mutable_cf_options.ttl > 0) { score = std::max( static_cast(GetExpiredTtlFilesCount( immutable_cf_options, mutable_cf_options, files_[level])), diff --git a/include/rocksdb/advanced_options.h b/include/rocksdb/advanced_options.h index 8b91000c9..a83d1212c 100644 --- a/include/rocksdb/advanced_options.h +++ b/include/rocksdb/advanced_options.h @@ -62,13 +62,6 @@ struct CompactionOptionsFIFO { // Default: 1GB uint64_t max_table_files_size; - // Drop files older than TTL. TTL based deletion will take precedence over - // size based deletion if ttl > 0. - // delete if sst_file_creation_time < (current_time - ttl) - // unit: seconds. Ex: 1 day = 1 * 24 * 60 * 60 - // Default: 0 (disabled) - uint64_t ttl = 0; - // If true, try to do compaction to compact smaller files into larger ones. // Minimum files to compact follows options.level0_file_num_compaction_trigger // and compaction won't trigger if average compact bytes per del file is @@ -78,10 +71,8 @@ struct CompactionOptionsFIFO { bool allow_compaction = false; CompactionOptionsFIFO() : max_table_files_size(1 * 1024 * 1024 * 1024) {} - CompactionOptionsFIFO(uint64_t _max_table_files_size, bool _allow_compaction, - uint64_t _ttl = 0) + CompactionOptionsFIFO(uint64_t _max_table_files_size, bool _allow_compaction) : max_table_files_size(_max_table_files_size), - ttl(_ttl), allow_compaction(_allow_compaction) {} }; @@ -542,7 +533,7 @@ struct AdvancedColumnFamilyOptions { // // Dynamically changeable through SetOptions() API // Dynamic change example: - // SetOptions("compaction_options_fifo", "{max_table_files_size=100;ttl=2;}") + // SetOptions("compaction_options_fifo", "{max_table_files_size=100;}") CompactionOptionsFIFO compaction_options_fifo; // An iteration->Next() sequentially skips over keys with the same @@ -631,9 +622,13 @@ struct AdvancedColumnFamilyOptions { // Dynamically changeable through SetOptions() API bool report_bg_io_stats = false; - // Non-bottom-level files older than TTL will go through the compaction - // process. This needs max_open_files to be set to -1. - // Enabled only for level compaction for now. + // Files older than TTL will go through the compaction process. + // Supported in Level and FIFO compaction. + // Pre-req: This needs max_open_files to be set to -1. + // In Level: Non-bottom-level files older than TTL will go through the + // compation process. + // In FIFO: Files older than TTL will be deleted. + // unit: seconds. Ex: 1 day = 1 * 24 * 60 * 60 // // Default: 0 (disabled) // diff --git a/java/rocksjni/compaction_options_fifo.cc b/java/rocksjni/compaction_options_fifo.cc index 00761b6ac..594cb01d8 100644 --- a/java/rocksjni/compaction_options_fifo.cc +++ b/java/rocksjni/compaction_options_fifo.cc @@ -46,30 +46,6 @@ jlong Java_org_rocksdb_CompactionOptionsFIFO_maxTableFilesSize(JNIEnv* /*env*/, return static_cast(opt->max_table_files_size); } -/* - * Class: org_rocksdb_CompactionOptionsFIFO - * Method: setTtl - * Signature: (JJ)V - */ -void Java_org_rocksdb_CompactionOptionsFIFO_setTtl(JNIEnv* /*env*/, - jobject /*jobj*/, - jlong jhandle, jlong ttl) { - auto* opt = reinterpret_cast(jhandle); - opt->ttl = static_cast(ttl); -} - -/* - * Class: org_rocksdb_CompactionOptionsFIFO - * Method: ttl - * Signature: (J)J - */ -jlong Java_org_rocksdb_CompactionOptionsFIFO_ttl(JNIEnv* /*env*/, - jobject /*jobj*/, - jlong jhandle) { - auto* opt = reinterpret_cast(jhandle); - return static_cast(opt->ttl); -} - /* * Class: org_rocksdb_CompactionOptionsFIFO * Method: setAllowCompaction diff --git a/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java b/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java index 36d78fe6e..f0f28f849 100644 --- a/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java +++ b/java/src/main/java/org/rocksdb/CompactionOptionsFIFO.java @@ -42,37 +42,6 @@ public class CompactionOptionsFIFO extends RocksObject { return maxTableFilesSize(nativeHandle_); } - /** - * Drop files older than TTL. TTL based deletion will take precedence over - * size based deletion if ttl > 0. - * delete if sst_file_creation_time < (current_time - ttl). - * unit: seconds. Ex: 1 day = 1 * 24 * 60 * 60 - * - * Default: 0 (disabled) - * - * @param ttl The ttl for the table files in seconds - * - * @return the reference to the current options. - */ - public CompactionOptionsFIFO setTtl(final long ttl) { - setTtl(nativeHandle_, ttl); - return this; - } - - /** - * The current ttl value. - * Drop files older than TTL. TTL based deletion will take precedence over - * size based deletion if ttl > 0. - * delete if sst_file_creation_time < (current_time - ttl). - * - * Default: 0 (disabled) - * - * @return the ttl in seconds - */ - public long ttl() { - return ttl(nativeHandle_); - } - /** * If true, try to do compaction to compact smaller files into larger ones. * Minimum files to compact follows options.level0_file_num_compaction_trigger @@ -109,8 +78,6 @@ public class CompactionOptionsFIFO extends RocksObject { private native void setMaxTableFilesSize(long handle, long maxTableFilesSize); private native long maxTableFilesSize(long handle); - private native void setTtl(long handle, long ttl); - private native long ttl(long handle); private native void setAllowCompaction(long handle, boolean allowCompaction); private native boolean allowCompaction(long handle); diff --git a/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java b/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java index df4c98ec1..841615e67 100644 --- a/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java +++ b/java/src/test/java/org/rocksdb/CompactionOptionsFIFOTest.java @@ -24,15 +24,6 @@ public class CompactionOptionsFIFOTest { } } - @Test - public void ttl() { - final long ttl = 7 * 24 * 60 * 60; // 7 days - try (final CompactionOptionsFIFO opt = new CompactionOptionsFIFO()) { - opt.setTtl(ttl); - assertThat(opt.ttl()).isEqualTo(ttl); - } - } - @Test public void allowCompaction() { final boolean allowCompaction = true; diff --git a/options/cf_options.cc b/options/cf_options.cc index 74a6c47e6..bc8f3e504 100644 --- a/options/cf_options.cc +++ b/options/cf_options.cc @@ -216,8 +216,6 @@ void MutableCFOptions::Dump(Logger* log) const { // FIFO Compaction Options ROCKS_LOG_INFO(log, "compaction_options_fifo.max_table_files_size : %" PRIu64, compaction_options_fifo.max_table_files_size); - ROCKS_LOG_INFO(log, "compaction_options_fifo.ttl : %" PRIu64, - compaction_options_fifo.ttl); ROCKS_LOG_INFO(log, "compaction_options_fifo.allow_compaction : %d", compaction_options_fifo.allow_compaction); } diff --git a/options/options.cc b/options/options.cc index 4f3195fe6..837345b10 100644 --- a/options/options.cc +++ b/options/options.cc @@ -306,8 +306,6 @@ void ColumnFamilyOptions::Dump(Logger* log) const { ROCKS_LOG_HEADER(log, "Options.compaction_options_fifo.allow_compaction: %d", compaction_options_fifo.allow_compaction); - ROCKS_LOG_HEADER(log, "Options.compaction_options_fifo.ttl: %" PRIu64, - compaction_options_fifo.ttl); std::string collector_names; for (const auto& collector_factory : table_properties_collector_factories) { collector_names.append(collector_factory->Name()); diff --git a/options/options_helper.cc b/options/options_helper.cc index 27a2252a0..1e23e7031 100644 --- a/options/options_helper.cc +++ b/options/options_helper.cc @@ -1902,9 +1902,9 @@ std::unordered_map OptionType::kUInt64T, OptionVerificationType::kNormal, true, offsetof(struct CompactionOptionsFIFO, max_table_files_size)}}, {"ttl", - {offset_of(&CompactionOptionsFIFO::ttl), OptionType::kUInt64T, - OptionVerificationType::kNormal, true, - offsetof(struct CompactionOptionsFIFO, ttl)}}, + {0, OptionType::kUInt64T, + OptionVerificationType::kDeprecated, false, + 0}}, {"allow_compaction", {offset_of(&CompactionOptionsFIFO::allow_compaction), OptionType::kBoolean, OptionVerificationType::kNormal, true, diff --git a/options/options_parser.cc b/options/options_parser.cc index 32cfb8d53..a6bb8db2d 100644 --- a/options/options_parser.cc +++ b/options/options_parser.cc @@ -574,7 +574,7 @@ bool AreEqualOptions( CompactionOptionsFIFO rhs = *reinterpret_cast(offset2); if (lhs.max_table_files_size == rhs.max_table_files_size && - lhs.ttl == rhs.ttl && lhs.allow_compaction == rhs.allow_compaction) { + lhs.allow_compaction == rhs.allow_compaction) { return true; } return false; diff --git a/options/options_settable_test.cc b/options/options_settable_test.cc index 9ff7c7814..cc6d82e7e 100644 --- a/options/options_settable_test.cc +++ b/options/options_settable_test.cc @@ -448,7 +448,7 @@ TEST_F(OptionsSettableTest, ColumnFamilyOptionsAllFieldsSettable) { "disable_auto_compactions=false;" "report_bg_io_stats=true;" "ttl=60;" - "compaction_options_fifo={max_table_files_size=3;ttl=100;allow_" + "compaction_options_fifo={max_table_files_size=3;allow_" "compaction=false;};", new_options)); diff --git a/tools/db_bench_tool.cc b/tools/db_bench_tool.cc index c6799c677..1402c68d9 100644 --- a/tools/db_bench_tool.cc +++ b/tools/db_bench_tool.cc @@ -3221,9 +3221,10 @@ void VerifyDBFromDB(std::string& truth_db_name) { options.use_direct_io_for_flush_and_compaction = FLAGS_use_direct_io_for_flush_and_compaction; #ifndef ROCKSDB_LITE + options.ttl = FLAGS_fifo_compaction_ttl; options.compaction_options_fifo = CompactionOptionsFIFO( FLAGS_fifo_compaction_max_table_files_size_mb * 1024 * 1024, - FLAGS_fifo_compaction_allow_compaction, FLAGS_fifo_compaction_ttl); + FLAGS_fifo_compaction_allow_compaction); #endif // ROCKSDB_LITE if (FLAGS_prefix_size != 0) { options.prefix_extractor.reset( diff --git a/util/testutil.cc b/util/testutil.cc index 2da6acea0..af9ded655 100644 --- a/util/testutil.cc +++ b/util/testutil.cc @@ -351,7 +351,6 @@ void RandomInitCFOptions(ColumnFamilyOptions* cf_opt, Random* rnd) { cf_opt->target_file_size_base * rnd->Uniform(100); cf_opt->compaction_options_fifo.max_table_files_size = uint_max + rnd->Uniform(10000); - cf_opt->compaction_options_fifo.ttl = uint_max + rnd->Uniform(10000); // unsigned int options cf_opt->rate_limit_delay_max_milliseconds = rnd->Uniform(10000);