@nxtedition/rocksdb 8.0.1 → 8.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +2 -1
  2. package/deps/rocksdb/rocksdb/Makefile +2 -2
  3. package/deps/rocksdb/rocksdb/TARGETS +4 -2
  4. package/deps/rocksdb/rocksdb/cache/cache_bench_tool.cc +0 -5
  5. package/deps/rocksdb/rocksdb/cache/cache_test.cc +8 -29
  6. package/deps/rocksdb/rocksdb/cache/clock_cache.cc +146 -0
  7. package/deps/rocksdb/rocksdb/cache/clock_cache.h +13 -1
  8. package/deps/rocksdb/rocksdb/cache/lru_cache_test.cc +20 -146
  9. package/deps/rocksdb/rocksdb/cache/secondary_cache.cc +32 -0
  10. package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator.h +11 -0
  11. package/deps/rocksdb/rocksdb/db/column_family.cc +11 -9
  12. package/deps/rocksdb/rocksdb/db/column_family.h +20 -0
  13. package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +5 -0
  14. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +13 -33
  15. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +5 -0
  16. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +27 -8
  17. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +17 -1
  18. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +2 -1
  19. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +4 -2
  20. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +8 -6
  21. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +65 -7
  22. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +5 -0
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +10 -32
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +28 -47
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +28 -22
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +8 -14
  27. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +8 -8
  28. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +5 -4
  29. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +170 -140
  30. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +5 -1
  31. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +5 -4
  32. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +8 -2
  33. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +8 -0
  34. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +266 -138
  35. package/deps/rocksdb/rocksdb/db/corruption_test.cc +86 -1
  36. package/deps/rocksdb/rocksdb/db/db_basic_test.cc +72 -5
  37. package/deps/rocksdb/rocksdb/db/db_block_cache_test.cc +119 -10
  38. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +585 -264
  39. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +46 -18
  40. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +5 -1
  41. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +6 -15
  42. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +1 -1
  43. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +1 -1
  44. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +3 -0
  45. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +8 -8
  46. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +10 -0
  47. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +250 -2
  48. package/deps/rocksdb/rocksdb/db/db_test.cc +3 -0
  49. package/deps/rocksdb/rocksdb/db/db_test2.cc +307 -8
  50. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +129 -0
  51. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +21 -0
  52. package/deps/rocksdb/rocksdb/db/dbformat.cc +25 -0
  53. package/deps/rocksdb/rocksdb/db/dbformat.h +2 -0
  54. package/deps/rocksdb/rocksdb/db/experimental.cc +1 -1
  55. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +5 -2
  56. package/deps/rocksdb/rocksdb/db/flush_job.cc +5 -2
  57. package/deps/rocksdb/rocksdb/db/history_trimming_iterator.h +4 -0
  58. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +56 -53
  59. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +3 -4
  60. package/deps/rocksdb/rocksdb/db/merge_helper.cc +4 -0
  61. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +10 -10
  62. package/deps/rocksdb/rocksdb/db/repair.cc +64 -22
  63. package/deps/rocksdb/rocksdb/db/repair_test.cc +54 -0
  64. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +26 -26
  65. package/deps/rocksdb/rocksdb/db/table_cache.cc +2 -0
  66. package/deps/rocksdb/rocksdb/db/table_properties_collector.h +3 -1
  67. package/deps/rocksdb/rocksdb/db/version_builder.cc +90 -43
  68. package/deps/rocksdb/rocksdb/db/version_builder.h +20 -0
  69. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +190 -67
  70. package/deps/rocksdb/rocksdb/db/version_edit.cc +15 -1
  71. package/deps/rocksdb/rocksdb/db/version_edit.h +16 -4
  72. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +41 -11
  73. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +27 -12
  74. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +18 -16
  75. package/deps/rocksdb/rocksdb/db/version_set.cc +212 -35
  76. package/deps/rocksdb/rocksdb/db/version_set.h +34 -4
  77. package/deps/rocksdb/rocksdb/db/version_set_test.cc +45 -25
  78. package/deps/rocksdb/rocksdb/db/write_thread.cc +5 -2
  79. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +0 -1
  80. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +0 -4
  81. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +12 -17
  82. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +6 -4
  83. package/deps/rocksdb/rocksdb/file/file_prefetch_buffer.h +1 -0
  84. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +0 -48
  85. package/deps/rocksdb/rocksdb/file/random_access_file_reader.cc +8 -0
  86. package/deps/rocksdb/rocksdb/include/rocksdb/cache.h +196 -171
  87. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +6 -0
  88. package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +9 -3
  89. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +25 -18
  90. package/deps/rocksdb/rocksdb/include/rocksdb/secondary_cache.h +27 -5
  91. package/deps/rocksdb/rocksdb/include/rocksdb/statistics.h +5 -0
  92. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +3 -0
  93. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +1 -1
  94. package/deps/rocksdb/rocksdb/logging/logging.h +13 -19
  95. package/deps/rocksdb/rocksdb/memory/arena.cc +4 -3
  96. package/deps/rocksdb/rocksdb/memory/arena_test.cc +30 -0
  97. package/deps/rocksdb/rocksdb/monitoring/statistics.cc +3 -1
  98. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +26 -26
  99. package/deps/rocksdb/rocksdb/src.mk +2 -1
  100. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +3 -2
  101. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +3 -2
  102. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +1 -1
  103. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +3 -3
  104. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +142 -0
  105. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +241 -0
  106. package/deps/rocksdb/rocksdb/table/format.cc +24 -20
  107. package/deps/rocksdb/rocksdb/table/format.h +5 -2
  108. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +97 -115
  109. package/deps/rocksdb/rocksdb/table/merging_iterator.h +82 -1
  110. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  111. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +1 -1
  112. package/deps/rocksdb/rocksdb/table/table_test.cc +7 -6
  113. package/deps/rocksdb/rocksdb/test_util/testutil.h +10 -0
  114. package/deps/rocksdb/rocksdb/tools/db_bench_tool.cc +0 -6
  115. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +2 -2
  116. package/deps/rocksdb/rocksdb/util/bloom_test.cc +1 -1
  117. package/deps/rocksdb/rocksdb/util/status.cc +7 -0
  118. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +5 -0
  119. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -0
  120. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.cc +7 -67
  121. package/deps/rocksdb/rocksdb/utilities/cache_dump_load_impl.h +1 -3
  122. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +1 -0
  123. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +59 -0
  124. package/deps/rocksdb/rocksdb.gyp +2 -1
  125. package/package.json +1 -1
  126. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  127. package/prebuilds/linux-x64/node.napi.node +0 -0
  128. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.cc +0 -580
  129. package/deps/rocksdb/rocksdb/cache/fast_lru_cache.h +0 -476
@@ -77,8 +77,9 @@ class CompactionPickerTestBase : public testing::Test {
77
77
  void NewVersionStorage(int num_levels, CompactionStyle style) {
78
78
  DeleteVersionStorage();
79
79
  options_.num_levels = num_levels;
80
- vstorage_.reset(new VersionStorageInfo(&icmp_, ucmp_, options_.num_levels,
81
- style, nullptr, false));
80
+ vstorage_.reset(new VersionStorageInfo(
81
+ &icmp_, ucmp_, options_.num_levels, style, nullptr, false,
82
+ EpochNumberRequirement::kMustPresent));
82
83
  vstorage_->PrepareForVersionAppend(ioptions_, mutable_cf_options_);
83
84
  }
84
85
 
@@ -87,7 +88,7 @@ class CompactionPickerTestBase : public testing::Test {
87
88
  void AddVersionStorage() {
88
89
  temp_vstorage_.reset(new VersionStorageInfo(
89
90
  &icmp_, ucmp_, options_.num_levels, ioptions_.compaction_style,
90
- vstorage_.get(), false));
91
+ vstorage_.get(), false, EpochNumberRequirement::kMustPresent));
91
92
  }
92
93
 
93
94
  void DeleteVersionStorage() {
@@ -105,7 +106,8 @@ class CompactionPickerTestBase : public testing::Test {
105
106
  size_t compensated_file_size = 0, bool marked_for_compact = false,
106
107
  Temperature temperature = Temperature::kUnknown,
107
108
  uint64_t oldest_ancestor_time = kUnknownOldestAncesterTime,
108
- Slice ts_of_smallest = Slice(), Slice ts_of_largest = Slice()) {
109
+ Slice ts_of_smallest = Slice(), Slice ts_of_largest = Slice(),
110
+ uint64_t epoch_number = kUnknownEpochNumber) {
109
111
  assert(ts_of_smallest.size() == ucmp_->timestamp_size());
110
112
  assert(ts_of_largest.size() == ucmp_->timestamp_size());
111
113
 
@@ -145,7 +147,7 @@ class CompactionPickerTestBase : public testing::Test {
145
147
  file_number, path_id, file_size, smallest_ikey, largest_ikey,
146
148
  smallest_seq, largest_seq, marked_for_compact, temperature,
147
149
  kInvalidBlobFileNumber, kUnknownOldestAncesterTime,
148
- kUnknownFileCreationTime, kUnknownFileChecksum,
150
+ kUnknownFileCreationTime, epoch_number, kUnknownFileChecksum,
149
151
  kUnknownFileChecksumFuncName, kNullUniqueId64x2);
150
152
  f->compensated_file_size =
151
153
  (compensated_file_size != 0) ? compensated_file_size : file_size;
@@ -218,7 +220,7 @@ TEST_F(CompactionPickerTest, Empty) {
218
220
  UpdateVersionStorageInfo();
219
221
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
220
222
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
221
- &log_buffer_, kMaxSequenceNumber));
223
+ &log_buffer_));
222
224
  ASSERT_TRUE(compaction.get() == nullptr);
223
225
  }
224
226
 
@@ -230,7 +232,7 @@ TEST_F(CompactionPickerTest, Single) {
230
232
 
231
233
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
232
234
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
233
- &log_buffer_, kMaxSequenceNumber));
235
+ &log_buffer_));
234
236
  ASSERT_TRUE(compaction.get() == nullptr);
235
237
  }
236
238
 
@@ -244,7 +246,7 @@ TEST_F(CompactionPickerTest, Level0Trigger) {
244
246
 
245
247
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
246
248
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
247
- &log_buffer_, kMaxSequenceNumber));
249
+ &log_buffer_));
248
250
  ASSERT_TRUE(compaction.get() != nullptr);
249
251
  ASSERT_EQ(2U, compaction->num_input_files(0));
250
252
  ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
@@ -258,7 +260,7 @@ TEST_F(CompactionPickerTest, Level1Trigger) {
258
260
 
259
261
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
260
262
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
261
- &log_buffer_, kMaxSequenceNumber));
263
+ &log_buffer_));
262
264
  ASSERT_TRUE(compaction.get() != nullptr);
263
265
  ASSERT_EQ(1U, compaction->num_input_files(0));
264
266
  ASSERT_EQ(66U, compaction->input(0, 0)->fd.GetNumber());
@@ -277,7 +279,7 @@ TEST_F(CompactionPickerTest, Level1Trigger2) {
277
279
 
278
280
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
279
281
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
280
- &log_buffer_, kMaxSequenceNumber));
282
+ &log_buffer_));
281
283
  ASSERT_TRUE(compaction.get() != nullptr);
282
284
  ASSERT_EQ(1U, compaction->num_input_files(0));
283
285
  ASSERT_EQ(2U, compaction->num_input_files(1));
@@ -309,7 +311,7 @@ TEST_F(CompactionPickerTest, LevelMaxScore) {
309
311
 
310
312
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
311
313
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
312
- &log_buffer_, kMaxSequenceNumber));
314
+ &log_buffer_));
313
315
  ASSERT_TRUE(compaction.get() != nullptr);
314
316
  ASSERT_EQ(1U, compaction->num_input_files(0));
315
317
  ASSERT_EQ(7U, compaction->input(0, 0)->fd.GetNumber());
@@ -357,7 +359,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic) {
357
359
 
358
360
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
359
361
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
360
- &log_buffer_, kMaxSequenceNumber));
362
+ &log_buffer_));
361
363
  ASSERT_TRUE(compaction.get() != nullptr);
362
364
  ASSERT_EQ(2U, compaction->num_input_files(0));
363
365
  ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
@@ -382,7 +384,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic2) {
382
384
 
383
385
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
384
386
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
385
- &log_buffer_, kMaxSequenceNumber));
387
+ &log_buffer_));
386
388
  ASSERT_TRUE(compaction.get() != nullptr);
387
389
  ASSERT_EQ(2U, compaction->num_input_files(0));
388
390
  ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
@@ -408,7 +410,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic3) {
408
410
 
409
411
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
410
412
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
411
- &log_buffer_, kMaxSequenceNumber));
413
+ &log_buffer_));
412
414
  ASSERT_TRUE(compaction.get() != nullptr);
413
415
  ASSERT_EQ(2U, compaction->num_input_files(0));
414
416
  ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
@@ -438,7 +440,7 @@ TEST_F(CompactionPickerTest, Level0TriggerDynamic4) {
438
440
 
439
441
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
440
442
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
441
- &log_buffer_, kMaxSequenceNumber));
443
+ &log_buffer_));
442
444
  ASSERT_TRUE(compaction.get() != nullptr);
443
445
  ASSERT_EQ(2U, compaction->num_input_files(0));
444
446
  ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
@@ -471,7 +473,7 @@ TEST_F(CompactionPickerTest, LevelTriggerDynamic4) {
471
473
 
472
474
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
473
475
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
474
- &log_buffer_, kMaxSequenceNumber));
476
+ &log_buffer_));
475
477
  ASSERT_TRUE(compaction.get() != nullptr);
476
478
  ASSERT_EQ(1U, compaction->num_input_files(0));
477
479
  ASSERT_EQ(5U, compaction->input(0, 0)->fd.GetNumber());
@@ -528,7 +530,7 @@ TEST_F(CompactionPickerTest, CompactionUniversalIngestBehindReservedLevel) {
528
530
  std::unique_ptr<Compaction> compaction(
529
531
  universal_compaction_picker.PickCompaction(
530
532
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
531
- &log_buffer_, kMaxSequenceNumber));
533
+ &log_buffer_));
532
534
 
533
535
  // output level should be the one above the bottom-most
534
536
  ASSERT_EQ(1, compaction->output_level());
@@ -563,7 +565,7 @@ TEST_F(CompactionPickerTest, CannotTrivialMoveUniversal) {
563
565
  std::unique_ptr<Compaction> compaction(
564
566
  universal_compaction_picker.PickCompaction(
565
567
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
566
- &log_buffer_, kMaxSequenceNumber));
568
+ &log_buffer_));
567
569
 
568
570
  ASSERT_TRUE(!compaction->is_trivial_move());
569
571
  }
@@ -590,7 +592,7 @@ TEST_F(CompactionPickerTest, AllowsTrivialMoveUniversal) {
590
592
  std::unique_ptr<Compaction> compaction(
591
593
  universal_compaction_picker.PickCompaction(
592
594
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
593
- &log_buffer_, kMaxSequenceNumber));
595
+ &log_buffer_));
594
596
 
595
597
  ASSERT_TRUE(compaction->is_trivial_move());
596
598
  }
@@ -619,7 +621,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction1) {
619
621
  std::unique_ptr<Compaction> compaction(
620
622
  universal_compaction_picker.PickCompaction(
621
623
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
622
- &log_buffer_, kMaxSequenceNumber));
624
+ &log_buffer_));
623
625
 
624
626
  ASSERT_TRUE(compaction);
625
627
  ASSERT_EQ(4, compaction->output_level());
@@ -650,7 +652,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction2) {
650
652
  std::unique_ptr<Compaction> compaction(
651
653
  universal_compaction_picker.PickCompaction(
652
654
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
653
- &log_buffer_, kMaxSequenceNumber));
655
+ &log_buffer_));
654
656
 
655
657
  ASSERT_FALSE(compaction);
656
658
  }
@@ -677,7 +679,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction3) {
677
679
  std::unique_ptr<Compaction> compaction(
678
680
  universal_compaction_picker.PickCompaction(
679
681
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
680
- &log_buffer_, kMaxSequenceNumber));
682
+ &log_buffer_));
681
683
 
682
684
  ASSERT_FALSE(compaction);
683
685
  }
@@ -708,7 +710,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction4) {
708
710
  std::unique_ptr<Compaction> compaction(
709
711
  universal_compaction_picker.PickCompaction(
710
712
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
711
- &log_buffer_, kMaxSequenceNumber));
713
+ &log_buffer_));
712
714
  ASSERT_TRUE(!compaction ||
713
715
  compaction->start_level() != compaction->output_level());
714
716
  }
@@ -729,7 +731,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction5) {
729
731
  std::unique_ptr<Compaction> compaction(
730
732
  universal_compaction_picker.PickCompaction(
731
733
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
732
- &log_buffer_, kMaxSequenceNumber));
734
+ &log_buffer_));
733
735
  ASSERT_TRUE(compaction);
734
736
  ASSERT_EQ(0, compaction->start_level());
735
737
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -754,7 +756,7 @@ TEST_F(CompactionPickerTest, UniversalPeriodicCompaction6) {
754
756
  std::unique_ptr<Compaction> compaction(
755
757
  universal_compaction_picker.PickCompaction(
756
758
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
757
- &log_buffer_, kMaxSequenceNumber));
759
+ &log_buffer_));
758
760
  ASSERT_TRUE(compaction);
759
761
  ASSERT_EQ(4, compaction->start_level());
760
762
  ASSERT_EQ(2U, compaction->num_input_files(0));
@@ -792,7 +794,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace1) {
792
794
  std::unique_ptr<Compaction> compaction(
793
795
  universal_compaction_picker.PickCompaction(
794
796
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
795
- &log_buffer_, kMaxSequenceNumber));
797
+ &log_buffer_));
796
798
  ASSERT_TRUE(compaction);
797
799
  ASSERT_EQ(4, compaction->output_level());
798
800
  ASSERT_EQ(3, compaction->start_level());
@@ -834,7 +836,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace2) {
834
836
  std::unique_ptr<Compaction> compaction(
835
837
  universal_compaction_picker.PickCompaction(
836
838
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
837
- &log_buffer_, kMaxSequenceNumber));
839
+ &log_buffer_));
838
840
  ASSERT_TRUE(compaction);
839
841
  ASSERT_EQ(4, compaction->output_level());
840
842
  ASSERT_EQ(2, compaction->start_level());
@@ -876,7 +878,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace3) {
876
878
  std::unique_ptr<Compaction> compaction(
877
879
  universal_compaction_picker.PickCompaction(
878
880
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
879
- &log_buffer_, kMaxSequenceNumber));
881
+ &log_buffer_));
880
882
  ASSERT_TRUE(compaction);
881
883
  ASSERT_EQ(4, compaction->output_level());
882
884
  ASSERT_EQ(2, compaction->start_level());
@@ -924,7 +926,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace4) {
924
926
  std::unique_ptr<Compaction> compaction(
925
927
  universal_compaction_picker.PickCompaction(
926
928
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
927
- &log_buffer_, kMaxSequenceNumber));
929
+ &log_buffer_));
928
930
  ASSERT_TRUE(compaction);
929
931
  ASSERT_EQ(4, compaction->output_level());
930
932
  ASSERT_EQ(3, compaction->start_level());
@@ -968,7 +970,7 @@ TEST_F(CompactionPickerTest, UniversalIncrementalSpace5) {
968
970
  std::unique_ptr<Compaction> compaction(
969
971
  universal_compaction_picker.PickCompaction(
970
972
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
971
- &log_buffer_, kMaxSequenceNumber));
973
+ &log_buffer_));
972
974
  ASSERT_TRUE(compaction);
973
975
  ASSERT_EQ(4, compaction->output_level());
974
976
  ASSERT_EQ(3, compaction->start_level());
@@ -1035,7 +1037,7 @@ TEST_F(CompactionPickerTest, FIFOToWarm1) {
1035
1037
  ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
1036
1038
  std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
1037
1039
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1038
- &log_buffer_, kMaxSequenceNumber));
1040
+ &log_buffer_));
1039
1041
  ASSERT_TRUE(compaction.get() != nullptr);
1040
1042
  ASSERT_EQ(1U, compaction->num_input_files(0));
1041
1043
  ASSERT_EQ(3U, compaction->input(0, 0)->fd.GetNumber());
@@ -1073,7 +1075,7 @@ TEST_F(CompactionPickerTest, FIFOToWarm2) {
1073
1075
  ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
1074
1076
  std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
1075
1077
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1076
- &log_buffer_, kMaxSequenceNumber));
1078
+ &log_buffer_));
1077
1079
  ASSERT_TRUE(compaction.get() != nullptr);
1078
1080
  ASSERT_EQ(2U, compaction->num_input_files(0));
1079
1081
  ASSERT_EQ(2U, compaction->input(0, 0)->fd.GetNumber());
@@ -1114,7 +1116,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmMaxSize) {
1114
1116
  ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
1115
1117
  std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
1116
1118
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1117
- &log_buffer_, kMaxSequenceNumber));
1119
+ &log_buffer_));
1118
1120
  ASSERT_TRUE(compaction.get() != nullptr);
1119
1121
  ASSERT_EQ(2U, compaction->num_input_files(0));
1120
1122
  ASSERT_EQ(1U, compaction->input(0, 0)->fd.GetNumber());
@@ -1155,7 +1157,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmWithExistingWarm) {
1155
1157
  ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
1156
1158
  std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
1157
1159
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1158
- &log_buffer_, kMaxSequenceNumber));
1160
+ &log_buffer_));
1159
1161
  ASSERT_TRUE(compaction.get() != nullptr);
1160
1162
  ASSERT_EQ(2U, compaction->num_input_files(0));
1161
1163
  ASSERT_EQ(2U, compaction->input(0, 0)->fd.GetNumber());
@@ -1197,7 +1199,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmWithOngoing) {
1197
1199
  ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
1198
1200
  std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
1199
1201
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1200
- &log_buffer_, kMaxSequenceNumber));
1202
+ &log_buffer_));
1201
1203
  // Stop if a file is being compacted
1202
1204
  ASSERT_TRUE(compaction.get() == nullptr);
1203
1205
  }
@@ -1236,7 +1238,7 @@ TEST_F(CompactionPickerTest, FIFOToWarmWithHotBetweenWarms) {
1236
1238
  ASSERT_EQ(fifo_compaction_picker.NeedsCompaction(vstorage_.get()), true);
1237
1239
  std::unique_ptr<Compaction> compaction(fifo_compaction_picker.PickCompaction(
1238
1240
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1239
- &log_buffer_, kMaxSequenceNumber));
1241
+ &log_buffer_));
1240
1242
  // Stop if a file is being compacted
1241
1243
  ASSERT_TRUE(compaction.get() != nullptr);
1242
1244
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -1267,7 +1269,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping1) {
1267
1269
 
1268
1270
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1269
1271
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1270
- &log_buffer_, kMaxSequenceNumber));
1272
+ &log_buffer_));
1271
1273
  ASSERT_TRUE(compaction.get() != nullptr);
1272
1274
  ASSERT_EQ(1U, compaction->num_input_files(0));
1273
1275
  // Pick file 8 because it overlaps with 0 files on level 3.
@@ -1300,7 +1302,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping2) {
1300
1302
 
1301
1303
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1302
1304
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1303
- &log_buffer_, kMaxSequenceNumber));
1305
+ &log_buffer_));
1304
1306
  ASSERT_TRUE(compaction.get() != nullptr);
1305
1307
  ASSERT_EQ(1U, compaction->num_input_files(0));
1306
1308
  // Picking file 7 because overlapping ratio is the biggest.
@@ -1328,7 +1330,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping3) {
1328
1330
 
1329
1331
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1330
1332
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1331
- &log_buffer_, kMaxSequenceNumber));
1333
+ &log_buffer_));
1332
1334
  ASSERT_TRUE(compaction.get() != nullptr);
1333
1335
  ASSERT_EQ(1U, compaction->num_input_files(0));
1334
1336
  // Picking file 8 because overlapping ratio is the biggest.
@@ -1359,7 +1361,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlapping4) {
1359
1361
 
1360
1362
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1361
1363
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1362
- &log_buffer_, kMaxSequenceNumber));
1364
+ &log_buffer_));
1363
1365
  ASSERT_TRUE(compaction.get() != nullptr);
1364
1366
  ASSERT_EQ(1U, compaction->num_input_files(0));
1365
1367
  // Picking file 8 because overlapping ratio is the biggest.
@@ -1395,7 +1397,7 @@ TEST_F(CompactionPickerTest, CompactionPriRoundRobin) {
1395
1397
  std::unique_ptr<Compaction> compaction(
1396
1398
  local_level_compaction_picker.PickCompaction(
1397
1399
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1398
- &log_buffer_, kMaxSequenceNumber));
1400
+ &log_buffer_));
1399
1401
  ASSERT_TRUE(compaction.get() != nullptr);
1400
1402
  // Since the max bytes for level 2 is 120M, picking one file to compact
1401
1403
  // makes the post-compaction level size less than 120M, there is exactly one
@@ -1435,7 +1437,7 @@ TEST_F(CompactionPickerTest, CompactionPriMultipleFilesRoundRobin1) {
1435
1437
  std::unique_ptr<Compaction> compaction(
1436
1438
  local_level_compaction_picker.PickCompaction(
1437
1439
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1438
- &log_buffer_, kMaxSequenceNumber));
1440
+ &log_buffer_));
1439
1441
  ASSERT_TRUE(compaction.get() != nullptr);
1440
1442
 
1441
1443
  // The maximum compaction bytes is very large in this case so we can igore its
@@ -1478,7 +1480,7 @@ TEST_F(CompactionPickerTest, CompactionPriMultipleFilesRoundRobin2) {
1478
1480
  std::unique_ptr<Compaction> compaction(
1479
1481
  local_level_compaction_picker.PickCompaction(
1480
1482
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1481
- &log_buffer_, kMaxSequenceNumber));
1483
+ &log_buffer_));
1482
1484
  ASSERT_TRUE(compaction.get() != nullptr);
1483
1485
 
1484
1486
  // The maximum compaction bytes is only 2500 bytes now. Even though we are
@@ -1522,7 +1524,7 @@ TEST_F(CompactionPickerTest, CompactionPriMultipleFilesRoundRobin3) {
1522
1524
  std::unique_ptr<Compaction> compaction(
1523
1525
  local_level_compaction_picker.PickCompaction(
1524
1526
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1525
- &log_buffer_, kMaxSequenceNumber));
1527
+ &log_buffer_));
1526
1528
  ASSERT_TRUE(compaction.get() != nullptr);
1527
1529
 
1528
1530
  // Cannot pick more files since we reach the last file in level 2
@@ -1581,7 +1583,7 @@ TEST_F(CompactionPickerTest, CompactionPriMinOverlappingManyFiles) {
1581
1583
 
1582
1584
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1583
1585
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1584
- &log_buffer_, kMaxSequenceNumber));
1586
+ &log_buffer_));
1585
1587
  ASSERT_TRUE(compaction.get() != nullptr);
1586
1588
  ASSERT_EQ(1U, compaction->num_input_files(0));
1587
1589
  // Picking file 8 because overlapping ratio is the biggest.
@@ -1609,7 +1611,7 @@ TEST_F(CompactionPickerTest, ParentIndexResetBug) {
1609
1611
 
1610
1612
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1611
1613
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1612
- &log_buffer_, kMaxSequenceNumber));
1614
+ &log_buffer_));
1613
1615
  }
1614
1616
 
1615
1617
  // This test checks ExpandWhileOverlapping() by having overlapping user keys
@@ -1627,7 +1629,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys) {
1627
1629
 
1628
1630
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1629
1631
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1630
- &log_buffer_, kMaxSequenceNumber));
1632
+ &log_buffer_));
1631
1633
  ASSERT_TRUE(compaction.get() != nullptr);
1632
1634
  ASSERT_EQ(1U, compaction->num_input_levels());
1633
1635
  ASSERT_EQ(2U, compaction->num_input_files(0));
@@ -1647,7 +1649,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys2) {
1647
1649
 
1648
1650
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1649
1651
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1650
- &log_buffer_, kMaxSequenceNumber));
1652
+ &log_buffer_));
1651
1653
  ASSERT_TRUE(compaction.get() != nullptr);
1652
1654
  ASSERT_EQ(2U, compaction->num_input_levels());
1653
1655
  ASSERT_EQ(2U, compaction->num_input_files(0));
@@ -1675,7 +1677,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys3) {
1675
1677
 
1676
1678
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1677
1679
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1678
- &log_buffer_, kMaxSequenceNumber));
1680
+ &log_buffer_));
1679
1681
  ASSERT_TRUE(compaction.get() != nullptr);
1680
1682
  ASSERT_EQ(2U, compaction->num_input_levels());
1681
1683
  ASSERT_EQ(5U, compaction->num_input_files(0));
@@ -1706,7 +1708,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys4) {
1706
1708
 
1707
1709
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1708
1710
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1709
- &log_buffer_, kMaxSequenceNumber));
1711
+ &log_buffer_));
1710
1712
  ASSERT_TRUE(compaction.get() != nullptr);
1711
1713
  ASSERT_EQ(2U, compaction->num_input_levels());
1712
1714
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -1730,7 +1732,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys5) {
1730
1732
 
1731
1733
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1732
1734
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1733
- &log_buffer_, kMaxSequenceNumber));
1735
+ &log_buffer_));
1734
1736
  ASSERT_TRUE(compaction.get() == nullptr);
1735
1737
  }
1736
1738
 
@@ -1752,7 +1754,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys6) {
1752
1754
 
1753
1755
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1754
1756
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1755
- &log_buffer_, kMaxSequenceNumber));
1757
+ &log_buffer_));
1756
1758
  ASSERT_TRUE(compaction.get() != nullptr);
1757
1759
  ASSERT_EQ(2U, compaction->num_input_levels());
1758
1760
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -1773,7 +1775,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys7) {
1773
1775
 
1774
1776
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1775
1777
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1776
- &log_buffer_, kMaxSequenceNumber));
1778
+ &log_buffer_));
1777
1779
  ASSERT_TRUE(compaction.get() != nullptr);
1778
1780
  ASSERT_EQ(2U, compaction->num_input_levels());
1779
1781
  ASSERT_GE(1U, compaction->num_input_files(0));
@@ -1802,7 +1804,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys8) {
1802
1804
 
1803
1805
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1804
1806
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1805
- &log_buffer_, kMaxSequenceNumber));
1807
+ &log_buffer_));
1806
1808
  ASSERT_TRUE(compaction.get() != nullptr);
1807
1809
  ASSERT_EQ(2U, compaction->num_input_levels());
1808
1810
  ASSERT_EQ(3U, compaction->num_input_files(0));
@@ -1835,7 +1837,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys9) {
1835
1837
 
1836
1838
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1837
1839
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1838
- &log_buffer_, kMaxSequenceNumber));
1840
+ &log_buffer_));
1839
1841
  ASSERT_TRUE(compaction.get() != nullptr);
1840
1842
  ASSERT_EQ(2U, compaction->num_input_levels());
1841
1843
  ASSERT_EQ(5U, compaction->num_input_files(0));
@@ -1876,7 +1878,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys10) {
1876
1878
 
1877
1879
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1878
1880
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1879
- &log_buffer_, kMaxSequenceNumber));
1881
+ &log_buffer_));
1880
1882
  ASSERT_TRUE(compaction.get() != nullptr);
1881
1883
  ASSERT_EQ(2U, compaction->num_input_levels());
1882
1884
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -1915,7 +1917,7 @@ TEST_F(CompactionPickerTest, OverlappingUserKeys11) {
1915
1917
 
1916
1918
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
1917
1919
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
1918
- &log_buffer_, kMaxSequenceNumber));
1920
+ &log_buffer_));
1919
1921
  ASSERT_TRUE(compaction.get() != nullptr);
1920
1922
  ASSERT_EQ(2U, compaction->num_input_levels());
1921
1923
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -2013,7 +2015,7 @@ TEST_F(CompactionPickerTest, NotScheduleL1IfL0WithHigherPri1) {
2013
2015
  ASSERT_EQ(1, vstorage_->CompactionScoreLevel(1));
2014
2016
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2015
2017
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2016
- &log_buffer_, kMaxSequenceNumber));
2018
+ &log_buffer_));
2017
2019
  ASSERT_TRUE(compaction.get() == nullptr);
2018
2020
  }
2019
2021
 
@@ -2044,7 +2046,7 @@ TEST_F(CompactionPickerTest, NotScheduleL1IfL0WithHigherPri2) {
2044
2046
  ASSERT_EQ(1, vstorage_->CompactionScoreLevel(1));
2045
2047
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2046
2048
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2047
- &log_buffer_, kMaxSequenceNumber));
2049
+ &log_buffer_));
2048
2050
  ASSERT_TRUE(compaction.get() != nullptr);
2049
2051
  }
2050
2052
 
@@ -2078,7 +2080,7 @@ TEST_F(CompactionPickerTest, NotScheduleL1IfL0WithHigherPri3) {
2078
2080
  ASSERT_EQ(0, vstorage_->CompactionScoreLevel(1));
2079
2081
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2080
2082
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2081
- &log_buffer_, kMaxSequenceNumber));
2083
+ &log_buffer_));
2082
2084
  ASSERT_TRUE(compaction.get() != nullptr);
2083
2085
  }
2084
2086
 
@@ -2374,7 +2376,7 @@ TEST_F(CompactionPickerTest, MaxCompactionBytesHit) {
2374
2376
 
2375
2377
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2376
2378
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2377
- &log_buffer_, kMaxSequenceNumber));
2379
+ &log_buffer_));
2378
2380
  ASSERT_TRUE(compaction.get() != nullptr);
2379
2381
  ASSERT_EQ(2U, compaction->num_input_levels());
2380
2382
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -2400,7 +2402,7 @@ TEST_F(CompactionPickerTest, MaxCompactionBytesNotHit) {
2400
2402
 
2401
2403
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2402
2404
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2403
- &log_buffer_, kMaxSequenceNumber));
2405
+ &log_buffer_));
2404
2406
  ASSERT_TRUE(compaction.get() != nullptr);
2405
2407
  ASSERT_EQ(2U, compaction->num_input_levels());
2406
2408
  ASSERT_EQ(3U, compaction->num_input_files(0));
@@ -2430,7 +2432,7 @@ TEST_F(CompactionPickerTest, IsTrivialMoveOn) {
2430
2432
 
2431
2433
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2432
2434
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2433
- &log_buffer_, kMaxSequenceNumber));
2435
+ &log_buffer_));
2434
2436
  ASSERT_TRUE(compaction.get() != nullptr);
2435
2437
  ASSERT_TRUE(compaction->IsTrivialMove());
2436
2438
  }
@@ -2455,7 +2457,7 @@ TEST_F(CompactionPickerTest, L0TrivialMove1) {
2455
2457
 
2456
2458
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2457
2459
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2458
- &log_buffer_, kMaxSequenceNumber));
2460
+ &log_buffer_));
2459
2461
  ASSERT_TRUE(compaction.get() != nullptr);
2460
2462
  ASSERT_EQ(1, compaction->num_input_levels());
2461
2463
  ASSERT_EQ(2, compaction->num_input_files(0));
@@ -2484,7 +2486,7 @@ TEST_F(CompactionPickerTest, L0TrivialMoveOneFile) {
2484
2486
 
2485
2487
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2486
2488
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2487
- &log_buffer_, kMaxSequenceNumber));
2489
+ &log_buffer_));
2488
2490
  ASSERT_TRUE(compaction.get() != nullptr);
2489
2491
  ASSERT_EQ(1, compaction->num_input_levels());
2490
2492
  ASSERT_EQ(1, compaction->num_input_files(0));
@@ -2510,7 +2512,7 @@ TEST_F(CompactionPickerTest, L0TrivialMoveWholeL0) {
2510
2512
 
2511
2513
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2512
2514
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2513
- &log_buffer_, kMaxSequenceNumber));
2515
+ &log_buffer_));
2514
2516
  ASSERT_TRUE(compaction.get() != nullptr);
2515
2517
  ASSERT_EQ(1, compaction->num_input_levels());
2516
2518
  ASSERT_EQ(4, compaction->num_input_files(0));
@@ -2541,7 +2543,7 @@ TEST_F(CompactionPickerTest, IsTrivialMoveOffSstPartitioned) {
2541
2543
 
2542
2544
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2543
2545
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2544
- &log_buffer_, kMaxSequenceNumber));
2546
+ &log_buffer_));
2545
2547
  ASSERT_TRUE(compaction.get() != nullptr);
2546
2548
  // No trivial move, because partitioning is applied
2547
2549
  ASSERT_TRUE(!compaction->IsTrivialMove());
@@ -2564,7 +2566,7 @@ TEST_F(CompactionPickerTest, IsTrivialMoveOff) {
2564
2566
 
2565
2567
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2566
2568
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2567
- &log_buffer_, kMaxSequenceNumber));
2569
+ &log_buffer_));
2568
2570
  ASSERT_TRUE(compaction.get() != nullptr);
2569
2571
  ASSERT_FALSE(compaction->IsTrivialMove());
2570
2572
  }
@@ -2593,7 +2595,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles1) {
2593
2595
 
2594
2596
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2595
2597
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2596
- &log_buffer_, kMaxSequenceNumber));
2598
+ &log_buffer_));
2597
2599
  ASSERT_TRUE(compaction.get() != nullptr);
2598
2600
  ASSERT_TRUE(compaction->IsTrivialMove());
2599
2601
  ASSERT_EQ(1, compaction->num_input_levels());
@@ -2627,7 +2629,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles2) {
2627
2629
 
2628
2630
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2629
2631
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2630
- &log_buffer_, kMaxSequenceNumber));
2632
+ &log_buffer_));
2631
2633
  ASSERT_TRUE(compaction.get() != nullptr);
2632
2634
  ASSERT_TRUE(compaction->IsTrivialMove());
2633
2635
  ASSERT_EQ(1, compaction->num_input_levels());
@@ -2660,7 +2662,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles3) {
2660
2662
 
2661
2663
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2662
2664
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2663
- &log_buffer_, kMaxSequenceNumber));
2665
+ &log_buffer_));
2664
2666
  ASSERT_TRUE(compaction.get() != nullptr);
2665
2667
  ASSERT_TRUE(compaction->IsTrivialMove());
2666
2668
  ASSERT_EQ(1, compaction->num_input_levels());
@@ -2686,7 +2688,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles4) {
2686
2688
 
2687
2689
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2688
2690
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2689
- &log_buffer_, kMaxSequenceNumber));
2691
+ &log_buffer_));
2690
2692
  ASSERT_TRUE(compaction.get() != nullptr);
2691
2693
  ASSERT_TRUE(compaction->IsTrivialMove());
2692
2694
  ASSERT_EQ(1, compaction->num_input_levels());
@@ -2716,7 +2718,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles5) {
2716
2718
 
2717
2719
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2718
2720
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2719
- &log_buffer_, kMaxSequenceNumber));
2721
+ &log_buffer_));
2720
2722
  ASSERT_TRUE(compaction.get() != nullptr);
2721
2723
  ASSERT_TRUE(compaction->IsTrivialMove());
2722
2724
  ASSERT_EQ(1, compaction->num_input_levels());
@@ -2750,7 +2752,7 @@ TEST_F(CompactionPickerTest, TrivialMoveMultipleFiles6) {
2750
2752
 
2751
2753
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2752
2754
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2753
- &log_buffer_, kMaxSequenceNumber));
2755
+ &log_buffer_));
2754
2756
  ASSERT_TRUE(compaction.get() != nullptr);
2755
2757
  ASSERT_TRUE(compaction->IsTrivialMove());
2756
2758
  ASSERT_EQ(1, compaction->num_input_levels());
@@ -2785,7 +2787,7 @@ TEST_F(CompactionPickerTest, CacheNextCompactionIndex) {
2785
2787
 
2786
2788
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2787
2789
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2788
- &log_buffer_, kMaxSequenceNumber));
2790
+ &log_buffer_));
2789
2791
  ASSERT_TRUE(compaction.get() != nullptr);
2790
2792
  ASSERT_EQ(2U, compaction->num_input_levels());
2791
2793
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -2795,7 +2797,7 @@ TEST_F(CompactionPickerTest, CacheNextCompactionIndex) {
2795
2797
 
2796
2798
  compaction.reset(level_compaction_picker.PickCompaction(
2797
2799
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2798
- &log_buffer_, kMaxSequenceNumber));
2800
+ &log_buffer_));
2799
2801
  ASSERT_TRUE(compaction.get() != nullptr);
2800
2802
  ASSERT_EQ(2U, compaction->num_input_levels());
2801
2803
  ASSERT_EQ(1U, compaction->num_input_files(0));
@@ -2805,7 +2807,7 @@ TEST_F(CompactionPickerTest, CacheNextCompactionIndex) {
2805
2807
 
2806
2808
  compaction.reset(level_compaction_picker.PickCompaction(
2807
2809
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2808
- &log_buffer_, kMaxSequenceNumber));
2810
+ &log_buffer_));
2809
2811
  ASSERT_TRUE(compaction.get() == nullptr);
2810
2812
  ASSERT_EQ(4, vstorage_->NextCompactionIndex(1 /* level */));
2811
2813
  }
@@ -2831,7 +2833,7 @@ TEST_F(CompactionPickerTest, IntraL0MaxCompactionBytesNotHit) {
2831
2833
 
2832
2834
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2833
2835
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2834
- &log_buffer_, kMaxSequenceNumber));
2836
+ &log_buffer_));
2835
2837
  ASSERT_TRUE(compaction.get() != nullptr);
2836
2838
  ASSERT_EQ(1U, compaction->num_input_levels());
2837
2839
  ASSERT_EQ(5U, compaction->num_input_files(0));
@@ -2862,7 +2864,7 @@ TEST_F(CompactionPickerTest, IntraL0MaxCompactionBytesHit) {
2862
2864
 
2863
2865
  std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2864
2866
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2865
- &log_buffer_, kMaxSequenceNumber));
2867
+ &log_buffer_));
2866
2868
  ASSERT_TRUE(compaction.get() != nullptr);
2867
2869
  ASSERT_EQ(1U, compaction->num_input_levels());
2868
2870
  ASSERT_EQ(4U, compaction->num_input_files(0));
@@ -2871,38 +2873,6 @@ TEST_F(CompactionPickerTest, IntraL0MaxCompactionBytesHit) {
2871
2873
  ASSERT_EQ(0, compaction->output_level());
2872
2874
  }
2873
2875
 
2874
- TEST_F(CompactionPickerTest, IntraL0ForEarliestSeqno) {
2875
- // Intra L0 compaction triggers only if there are at least
2876
- // level0_file_num_compaction_trigger + 2 L0 files.
2877
- mutable_cf_options_.level0_file_num_compaction_trigger = 3;
2878
- mutable_cf_options_.max_compaction_bytes = 999999u;
2879
- NewVersionStorage(6, kCompactionStyleLevel);
2880
-
2881
- // 4 out of 6 L0 files will be picked for intra L0 compaction due to
2882
- // being_compact limit. And the latest one L0 will be skipped due to earliest
2883
- // seqno. The one L1 file spans entire L0 key range and is marked as being
2884
- // compacted to avoid L0->L1 compaction.
2885
- Add(1, 1U, "100", "350", 200000U, 0, 110, 111);
2886
- Add(0, 2U, "301", "350", 1U, 0, 108, 109);
2887
- Add(0, 3U, "251", "300", 1U, 0, 106, 107);
2888
- Add(0, 4U, "201", "250", 1U, 0, 104, 105);
2889
- Add(0, 5U, "151", "200", 1U, 0, 102, 103);
2890
- Add(0, 6U, "100", "150", 1U, 0, 100, 101);
2891
- Add(0, 7U, "100", "100", 1U, 0, 99, 100);
2892
- vstorage_->LevelFiles(0)[5]->being_compacted = true;
2893
- vstorage_->LevelFiles(1)[0]->being_compacted = true;
2894
- UpdateVersionStorageInfo();
2895
-
2896
- std::unique_ptr<Compaction> compaction(level_compaction_picker.PickCompaction(
2897
- cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2898
- &log_buffer_, 107));
2899
- ASSERT_TRUE(compaction.get() != nullptr);
2900
- ASSERT_EQ(1U, compaction->num_input_levels());
2901
- ASSERT_EQ(4U, compaction->num_input_files(0));
2902
- ASSERT_EQ(CompactionReason::kLevelL0FilesNum,
2903
- compaction->compaction_reason());
2904
- ASSERT_EQ(0, compaction->output_level());
2905
- }
2906
2876
 
2907
2877
  #ifndef ROCKSDB_LITE
2908
2878
  TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap) {
@@ -2916,9 +2886,23 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap) {
2916
2886
  // should fail
2917
2887
  NewVersionStorage(5, kCompactionStyleUniversal);
2918
2888
 
2919
- Add(0, 1U, "150", "200", kFileSize, 0, 500, 550);
2920
- Add(0, 2U, "201", "250", 2 * kFileSize, 0, 401, 450);
2921
- Add(0, 4U, "260", "300", 4 * kFileSize, 0, 260, 300);
2889
+ Add(0, 1U, "150", "200", kFileSize, 0, 500, 550, /*compensated_file_size*/ 0,
2890
+ /*marked_for_compact*/ false, /* temperature*/ Temperature::kUnknown,
2891
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2892
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2893
+ /*epoch_number*/ 3);
2894
+ Add(0, 2U, "201", "250", 2 * kFileSize, 0, 401, 450,
2895
+ /*compensated_file_size*/ 0, /*marked_for_compact*/ false,
2896
+ /* temperature*/ Temperature::kUnknown,
2897
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2898
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2899
+ /*epoch_number*/ 2);
2900
+ Add(0, 4U, "260", "300", 4 * kFileSize, 0, 260, 300,
2901
+ /*compensated_file_size*/ 0, /*marked_for_compact*/ false,
2902
+ /* temperature*/ Temperature::kUnknown,
2903
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2904
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2905
+ /*epoch_number*/ 1);
2922
2906
  Add(3, 5U, "010", "080", 8 * kFileSize, 0, 200, 251);
2923
2907
  Add(4, 3U, "301", "350", 8 * kFileSize, 0, 101, 150);
2924
2908
  Add(4, 6U, "501", "750", 8 * kFileSize, 0, 101, 150);
@@ -2928,7 +2912,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap) {
2928
2912
  std::unique_ptr<Compaction> compaction(
2929
2913
  universal_compaction_picker.PickCompaction(
2930
2914
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2931
- &log_buffer_, kMaxSequenceNumber));
2915
+ &log_buffer_));
2932
2916
 
2933
2917
  ASSERT_TRUE(compaction);
2934
2918
  // Validate that its a compaction to reduce sorted runs
@@ -2940,13 +2924,17 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap) {
2940
2924
 
2941
2925
  AddVersionStorage();
2942
2926
  // Simulate a flush and mark the file for compaction
2943
- Add(0, 7U, "150", "200", kFileSize, 0, 551, 600, 0, true);
2927
+ Add(0, 7U, "150", "200", kFileSize, 0, 551, 600, 0, true,
2928
+ /* temperature*/ Temperature::kUnknown,
2929
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2930
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2931
+ /*epoch_number*/ 4);
2944
2932
  UpdateVersionStorageInfo();
2945
2933
 
2946
2934
  std::unique_ptr<Compaction> compaction2(
2947
2935
  universal_compaction_picker.PickCompaction(
2948
2936
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2949
- &log_buffer_, kMaxSequenceNumber));
2937
+ &log_buffer_));
2950
2938
  ASSERT_FALSE(compaction2);
2951
2939
  }
2952
2940
 
@@ -2962,7 +2950,11 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap2) {
2962
2950
  NewVersionStorage(5, kCompactionStyleUniversal);
2963
2951
 
2964
2952
  // Mark file number 4 for compaction
2965
- Add(0, 4U, "260", "300", 4 * kFileSize, 0, 260, 300, 0, true);
2953
+ Add(0, 4U, "260", "300", 4 * kFileSize, 0, 260, 300, 0, true,
2954
+ /* temperature*/ Temperature::kUnknown,
2955
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2956
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2957
+ /*epoch_number*/ 1);
2966
2958
  Add(3, 5U, "240", "290", 8 * kFileSize, 0, 201, 250);
2967
2959
  Add(4, 3U, "301", "350", 8 * kFileSize, 0, 101, 150);
2968
2960
  Add(4, 6U, "501", "750", 8 * kFileSize, 0, 101, 150);
@@ -2971,7 +2963,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap2) {
2971
2963
  std::unique_ptr<Compaction> compaction(
2972
2964
  universal_compaction_picker.PickCompaction(
2973
2965
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2974
- &log_buffer_, kMaxSequenceNumber));
2966
+ &log_buffer_));
2975
2967
 
2976
2968
  ASSERT_TRUE(compaction);
2977
2969
  // Validate that its a delete triggered compaction
@@ -2983,14 +2975,23 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionFullOverlap2) {
2983
2975
  ASSERT_EQ(1U, compaction->num_input_files(1));
2984
2976
 
2985
2977
  AddVersionStorage();
2986
- Add(0, 1U, "150", "200", kFileSize, 0, 500, 550);
2987
- Add(0, 2U, "201", "250", 2 * kFileSize, 0, 401, 450);
2978
+ Add(0, 1U, "150", "200", kFileSize, 0, 500, 550, /*compensated_file_size*/ 0,
2979
+ /*marked_for_compact*/ false, /* temperature*/ Temperature::kUnknown,
2980
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2981
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2982
+ /*epoch_number*/ 3);
2983
+ Add(0, 2U, "201", "250", 2 * kFileSize, 0, 401, 450,
2984
+ /*compensated_file_size*/ 0, /*marked_for_compact*/ false,
2985
+ /* temperature*/ Temperature::kUnknown,
2986
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
2987
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
2988
+ /*epoch_number*/ 2);
2988
2989
  UpdateVersionStorageInfo();
2989
2990
 
2990
2991
  std::unique_ptr<Compaction> compaction2(
2991
2992
  universal_compaction_picker.PickCompaction(
2992
2993
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
2993
- &log_buffer_, kMaxSequenceNumber));
2994
+ &log_buffer_));
2994
2995
  ASSERT_FALSE(compaction2);
2995
2996
  }
2996
2997
 
@@ -3031,7 +3032,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionStartOutputOverlap) {
3031
3032
  std::unique_ptr<Compaction> compaction(
3032
3033
  universal_compaction_picker.PickCompaction(
3033
3034
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3034
- &log_buffer_, kMaxSequenceNumber));
3035
+ &log_buffer_));
3035
3036
 
3036
3037
  ASSERT_TRUE(compaction);
3037
3038
  // Validate that its a delete triggered compaction
@@ -3062,7 +3063,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedCompactionStartOutputOverlap) {
3062
3063
  std::unique_ptr<Compaction> compaction2(
3063
3064
  universal_compaction_picker.PickCompaction(
3064
3065
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3065
- &log_buffer_, kMaxSequenceNumber));
3066
+ &log_buffer_));
3066
3067
  ASSERT_FALSE(compaction2);
3067
3068
  DeleteVersionStorage();
3068
3069
  }
@@ -3088,7 +3089,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0NoOverlap) {
3088
3089
  std::unique_ptr<Compaction> compaction(
3089
3090
  universal_compaction_picker.PickCompaction(
3090
3091
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3091
- &log_buffer_, kMaxSequenceNumber));
3092
+ &log_buffer_));
3092
3093
 
3093
3094
  ASSERT_TRUE(compaction);
3094
3095
  // Validate that its a delete triggered compaction
@@ -3125,7 +3126,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0WithOverlap) {
3125
3126
  std::unique_ptr<Compaction> compaction(
3126
3127
  universal_compaction_picker.PickCompaction(
3127
3128
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3128
- &log_buffer_, kMaxSequenceNumber));
3129
+ &log_buffer_));
3129
3130
 
3130
3131
  ASSERT_TRUE(compaction);
3131
3132
  // Validate that its a delete triggered compaction
@@ -3150,16 +3151,35 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0Overlap2) {
3150
3151
  NewVersionStorage(1, kCompactionStyleUniversal);
3151
3152
 
3152
3153
  // Mark file number 5 for compaction
3153
- Add(0, 4U, "260", "300", 1 * kFileSize, 0, 260, 300);
3154
- Add(0, 5U, "240", "290", 2 * kFileSize, 0, 201, 250, 0, true);
3155
- Add(0, 3U, "301", "350", 4 * kFileSize, 0, 101, 150);
3156
- Add(0, 6U, "501", "750", 8 * kFileSize, 0, 50, 100);
3154
+ Add(0, 4U, "260", "300", 1 * kFileSize, 0, 260, 300,
3155
+ /*compensated_file_size*/ 0, /*marked_for_compact*/ false,
3156
+ /* temperature*/ Temperature::kUnknown,
3157
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
3158
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
3159
+ /*epoch_number*/ 4);
3160
+ Add(0, 5U, "240", "290", 2 * kFileSize, 0, 201, 250, 0, true,
3161
+ /* temperature*/ Temperature::kUnknown,
3162
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
3163
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
3164
+ /*epoch_number*/ 3);
3165
+ Add(0, 3U, "301", "350", 4 * kFileSize, 0, 101, 150,
3166
+ /*compensated_file_size*/ 0, /*marked_for_compact*/ false,
3167
+ /* temperature*/ Temperature::kUnknown,
3168
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
3169
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
3170
+ /*epoch_number*/ 2);
3171
+ Add(0, 6U, "501", "750", 8 * kFileSize, 0, 50, 100,
3172
+ /*compensated_file_size*/ 0, /*marked_for_compact*/ false,
3173
+ /* temperature*/ Temperature::kUnknown,
3174
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
3175
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
3176
+ /*epoch_number*/ 1);
3157
3177
  UpdateVersionStorageInfo();
3158
3178
 
3159
3179
  std::unique_ptr<Compaction> compaction(
3160
3180
  universal_compaction_picker.PickCompaction(
3161
3181
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3162
- &log_buffer_, kMaxSequenceNumber));
3182
+ &log_buffer_));
3163
3183
 
3164
3184
  ASSERT_TRUE(compaction);
3165
3185
  // Validate that its a delete triggered compaction
@@ -3173,14 +3193,24 @@ TEST_F(CompactionPickerTest, UniversalMarkedL0Overlap2) {
3173
3193
  ASSERT_TRUE(file_map_[6].first->being_compacted);
3174
3194
 
3175
3195
  AddVersionStorage();
3176
- Add(0, 1U, "150", "200", kFileSize, 0, 500, 550);
3177
- Add(0, 2U, "201", "250", kFileSize, 0, 401, 450);
3196
+ Add(0, 1U, "150", "200", kFileSize, 0, 500, 550, /*compensated_file_size*/ 0,
3197
+ /*marked_for_compact*/ false,
3198
+ /* temperature*/ Temperature::kUnknown,
3199
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
3200
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
3201
+ /*epoch_number*/ 6);
3202
+ Add(0, 2U, "201", "250", kFileSize, 0, 401, 450, /*compensated_file_size*/ 0,
3203
+ /*marked_for_compact*/ false,
3204
+ /* temperature*/ Temperature::kUnknown,
3205
+ /*oldest_ancestor_time*/ kUnknownOldestAncesterTime,
3206
+ /*ts_of_smallest*/ Slice(), /*ts_of_largest*/ Slice(),
3207
+ /*epoch_number*/ 5);
3178
3208
  UpdateVersionStorageInfo();
3179
3209
 
3180
3210
  std::unique_ptr<Compaction> compaction2(
3181
3211
  universal_compaction_picker.PickCompaction(
3182
3212
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3183
- &log_buffer_, kMaxSequenceNumber));
3213
+ &log_buffer_));
3184
3214
  ASSERT_TRUE(compaction2);
3185
3215
  ASSERT_EQ(3U, compaction->num_input_files(0));
3186
3216
  ASSERT_TRUE(file_map_[1].first->being_compacted);
@@ -3215,7 +3245,7 @@ TEST_F(CompactionPickerTest, UniversalMarkedManualCompaction) {
3215
3245
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3216
3246
  ColumnFamilyData::kCompactAllLevels, 6, CompactRangeOptions(),
3217
3247
  nullptr, nullptr, &manual_end, &manual_conflict,
3218
- std::numeric_limits<uint64_t>::max(), "", kMaxSequenceNumber));
3248
+ std::numeric_limits<uint64_t>::max(), ""));
3219
3249
 
3220
3250
  ASSERT_TRUE(compaction);
3221
3251
 
@@ -3256,7 +3286,7 @@ TEST_F(CompactionPickerTest, UniversalSizeAmpTierCompactionNonLastLevel) {
3256
3286
  std::unique_ptr<Compaction> compaction(
3257
3287
  universal_compaction_picker.PickCompaction(
3258
3288
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3259
- &log_buffer_, kMaxSequenceNumber));
3289
+ &log_buffer_));
3260
3290
 
3261
3291
  // Make sure it's a size amp compaction and includes all files
3262
3292
  ASSERT_EQ(compaction->compaction_reason(),
@@ -3292,7 +3322,7 @@ TEST_F(CompactionPickerTest, UniversalSizeRatioTierCompactionLastLevel) {
3292
3322
  std::unique_ptr<Compaction> compaction(
3293
3323
  universal_compaction_picker.PickCompaction(
3294
3324
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3295
- &log_buffer_, kMaxSequenceNumber));
3325
+ &log_buffer_));
3296
3326
 
3297
3327
  // Internally, size amp compaction is evaluated before size ratio compaction.
3298
3328
  // Here to make sure it's size ratio compaction instead of size amp
@@ -3329,7 +3359,7 @@ TEST_F(CompactionPickerTest, UniversalSizeAmpTierCompactionNotSuport) {
3329
3359
  std::unique_ptr<Compaction> compaction(
3330
3360
  universal_compaction_picker.PickCompaction(
3331
3361
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3332
- &log_buffer_, kMaxSequenceNumber));
3362
+ &log_buffer_));
3333
3363
 
3334
3364
  // size amp compaction is still triggered even preclude_last_level is set
3335
3365
  ASSERT_EQ(compaction->compaction_reason(),
@@ -3363,7 +3393,7 @@ TEST_F(CompactionPickerTest, UniversalSizeAmpTierCompactionLastLevel) {
3363
3393
  std::unique_ptr<Compaction> compaction(
3364
3394
  universal_compaction_picker.PickCompaction(
3365
3395
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3366
- &log_buffer_, kMaxSequenceNumber));
3396
+ &log_buffer_));
3367
3397
 
3368
3398
  // It's a Size Amp compaction, but doesn't include the last level file and
3369
3399
  // output to the penultimate level.
@@ -3471,7 +3501,7 @@ TEST_F(CompactionPickerU64TsTest, CannotTrivialMoveUniversal) {
3471
3501
  std::unique_ptr<Compaction> compaction(
3472
3502
  universal_compaction_picker.PickCompaction(
3473
3503
  cf_name_, mutable_cf_options_, mutable_db_options_, vstorage_.get(),
3474
- &log_buffer_, kMaxSequenceNumber));
3504
+ &log_buffer_));
3475
3505
  assert(compaction);
3476
3506
  ASSERT_TRUE(!compaction->is_trivial_move());
3477
3507
  }