@nxtedition/rocksdb 8.1.3 → 8.1.4

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 (133) hide show
  1. package/deps/rocksdb/rocksdb/CMakeLists.txt +0 -9
  2. package/deps/rocksdb/rocksdb/Makefile +1 -13
  3. package/deps/rocksdb/rocksdb/TARGETS +0 -4
  4. package/deps/rocksdb/rocksdb/db/blob/blob_counting_iterator.h +0 -11
  5. package/deps/rocksdb/rocksdb/db/builder.cc +4 -13
  6. package/deps/rocksdb/rocksdb/db/builder.h +1 -2
  7. package/deps/rocksdb/rocksdb/db/c.cc +0 -15
  8. package/deps/rocksdb/rocksdb/db/c_test.c +0 -3
  9. package/deps/rocksdb/rocksdb/db/column_family.cc +5 -11
  10. package/deps/rocksdb/rocksdb/db/column_family.h +0 -20
  11. package/deps/rocksdb/rocksdb/db/compaction/clipping_iterator.h +0 -5
  12. package/deps/rocksdb/rocksdb/db/compaction/compaction.cc +37 -31
  13. package/deps/rocksdb/rocksdb/db/compaction/compaction.h +0 -5
  14. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.cc +7 -24
  15. package/deps/rocksdb/rocksdb/db/compaction/compaction_iterator.h +1 -17
  16. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.cc +1 -4
  17. package/deps/rocksdb/rocksdb/db/compaction/compaction_job.h +2 -4
  18. package/deps/rocksdb/rocksdb/db/compaction/compaction_job_test.cc +6 -9
  19. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.cc +26 -104
  20. package/deps/rocksdb/rocksdb/db/compaction/compaction_outputs.h +0 -5
  21. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.cc +18 -11
  22. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker.h +16 -17
  23. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.cc +6 -19
  24. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_fifo.h +5 -5
  25. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.cc +22 -22
  26. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_level.h +5 -5
  27. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_test.cc +52 -81
  28. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.cc +1 -5
  29. package/deps/rocksdb/rocksdb/db/compaction/compaction_picker_universal.h +5 -5
  30. package/deps/rocksdb/rocksdb/db/compaction/compaction_service_job.cc +2 -8
  31. package/deps/rocksdb/rocksdb/db/compaction/subcompaction_state.h +0 -8
  32. package/deps/rocksdb/rocksdb/db/compaction/tiered_compaction_test.cc +138 -266
  33. package/deps/rocksdb/rocksdb/db/corruption_test.cc +1 -86
  34. package/deps/rocksdb/rocksdb/db/db_bloom_filter_test.cc +3 -2
  35. package/deps/rocksdb/rocksdb/db/db_compaction_test.cc +123 -897
  36. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.cc +20 -31
  37. package/deps/rocksdb/rocksdb/db/db_impl/db_impl.h +9 -5
  38. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_compaction_flush.cc +28 -121
  39. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_debug.cc +1 -1
  40. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_experimental.cc +2 -3
  41. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_files.cc +0 -3
  42. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_open.cc +4 -8
  43. package/deps/rocksdb/rocksdb/db/db_impl/db_impl_write.cc +0 -10
  44. package/deps/rocksdb/rocksdb/db/db_range_del_test.cc +4 -325
  45. package/deps/rocksdb/rocksdb/db/db_test.cc +0 -3
  46. package/deps/rocksdb/rocksdb/db/db_test2.cc +8 -233
  47. package/deps/rocksdb/rocksdb/db/db_test_util.h +0 -3
  48. package/deps/rocksdb/rocksdb/db/db_wal_test.cc +0 -129
  49. package/deps/rocksdb/rocksdb/db/db_with_timestamp_compaction_test.cc +0 -21
  50. package/deps/rocksdb/rocksdb/db/dbformat.cc +0 -25
  51. package/deps/rocksdb/rocksdb/db/dbformat.h +0 -2
  52. package/deps/rocksdb/rocksdb/db/experimental.cc +2 -3
  53. package/deps/rocksdb/rocksdb/db/external_sst_file_basic_test.cc +0 -3
  54. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.cc +13 -92
  55. package/deps/rocksdb/rocksdb/db/external_sst_file_ingestion_job.h +1 -38
  56. package/deps/rocksdb/rocksdb/db/external_sst_file_test.cc +110 -14
  57. package/deps/rocksdb/rocksdb/db/flush_job.cc +4 -6
  58. package/deps/rocksdb/rocksdb/db/history_trimming_iterator.h +0 -4
  59. package/deps/rocksdb/rocksdb/db/import_column_family_job.cc +53 -56
  60. package/deps/rocksdb/rocksdb/db/import_column_family_test.cc +4 -3
  61. package/deps/rocksdb/rocksdb/db/memtable.cc +1 -1
  62. package/deps/rocksdb/rocksdb/db/merge_helper.cc +0 -4
  63. package/deps/rocksdb/rocksdb/db/periodic_task_scheduler_test.cc +10 -10
  64. package/deps/rocksdb/rocksdb/db/range_tombstone_fragmenter_test.cc +1 -1
  65. package/deps/rocksdb/rocksdb/db/repair.cc +22 -65
  66. package/deps/rocksdb/rocksdb/db/repair_test.cc +0 -54
  67. package/deps/rocksdb/rocksdb/db/seqno_time_test.cc +26 -26
  68. package/deps/rocksdb/rocksdb/db/table_properties_collector.h +1 -3
  69. package/deps/rocksdb/rocksdb/db/version_builder.cc +43 -90
  70. package/deps/rocksdb/rocksdb/db/version_builder.h +0 -20
  71. package/deps/rocksdb/rocksdb/db/version_builder_test.cc +93 -218
  72. package/deps/rocksdb/rocksdb/db/version_edit.cc +1 -27
  73. package/deps/rocksdb/rocksdb/db/version_edit.h +9 -33
  74. package/deps/rocksdb/rocksdb/db/version_edit_handler.cc +6 -13
  75. package/deps/rocksdb/rocksdb/db/version_edit_handler.h +6 -17
  76. package/deps/rocksdb/rocksdb/db/version_edit_test.cc +17 -19
  77. package/deps/rocksdb/rocksdb/db/version_set.cc +26 -166
  78. package/deps/rocksdb/rocksdb/db/version_set.h +2 -32
  79. package/deps/rocksdb/rocksdb/db/version_set_test.cc +31 -65
  80. package/deps/rocksdb/rocksdb/db/write_thread.cc +2 -5
  81. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_common.h +0 -1
  82. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.cc +32 -31
  83. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_driver.h +1 -2
  84. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_env_wrapper.h +6 -8
  85. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_gflags.cc +0 -4
  86. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_test_base.cc +4 -11
  87. package/deps/rocksdb/rocksdb/db_stress_tool/db_stress_tool.cc +15 -16
  88. package/deps/rocksdb/rocksdb/db_stress_tool/no_batched_ops_stress.cc +1 -13
  89. package/deps/rocksdb/rocksdb/file/prefetch_test.cc +75 -0
  90. package/deps/rocksdb/rocksdb/include/rocksdb/c.h +0 -8
  91. package/deps/rocksdb/rocksdb/include/rocksdb/db.h +0 -6
  92. package/deps/rocksdb/rocksdb/include/rocksdb/listener.h +1 -7
  93. package/deps/rocksdb/rocksdb/include/rocksdb/metadata.h +3 -9
  94. package/deps/rocksdb/rocksdb/include/rocksdb/options.h +1 -2
  95. package/deps/rocksdb/rocksdb/include/rocksdb/status.h +0 -3
  96. package/deps/rocksdb/rocksdb/include/rocksdb/utilities/backup_engine.h +9 -69
  97. package/deps/rocksdb/rocksdb/include/rocksdb/version.h +2 -2
  98. package/deps/rocksdb/rocksdb/memory/arena.cc +87 -23
  99. package/deps/rocksdb/rocksdb/memory/arena.h +31 -25
  100. package/deps/rocksdb/rocksdb/memory/arena_test.cc +0 -90
  101. package/deps/rocksdb/rocksdb/monitoring/stats_history_test.cc +26 -26
  102. package/deps/rocksdb/rocksdb/src.mk +0 -2
  103. package/deps/rocksdb/rocksdb/table/adaptive/adaptive_table_factory.cc +2 -3
  104. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader.cc +2 -3
  105. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_impl.h +2 -6
  106. package/deps/rocksdb/rocksdb/table/block_based/block_based_table_reader_test.cc +1 -1
  107. package/deps/rocksdb/rocksdb/table/block_fetcher_test.cc +3 -3
  108. package/deps/rocksdb/rocksdb/table/format.cc +20 -24
  109. package/deps/rocksdb/rocksdb/table/format.h +2 -5
  110. package/deps/rocksdb/rocksdb/table/merging_iterator.cc +105 -54
  111. package/deps/rocksdb/rocksdb/table/merging_iterator.h +0 -80
  112. package/deps/rocksdb/rocksdb/table/meta_blocks.cc +2 -2
  113. package/deps/rocksdb/rocksdb/table/sst_file_dumper.cc +1 -1
  114. package/deps/rocksdb/rocksdb/table/table_test.cc +6 -7
  115. package/deps/rocksdb/rocksdb/test_util/testutil.h +0 -10
  116. package/deps/rocksdb/rocksdb/trace_replay/block_cache_tracer.h +2 -2
  117. package/deps/rocksdb/rocksdb/util/bloom_test.cc +1 -1
  118. package/deps/rocksdb/rocksdb/util/status.cc +0 -7
  119. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine.cc +74 -250
  120. package/deps/rocksdb/rocksdb/utilities/backup/backup_engine_test.cc +4 -199
  121. package/deps/rocksdb/rocksdb/utilities/checkpoint/checkpoint_impl.cc +0 -1
  122. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.cc +0 -39
  123. package/deps/rocksdb/rocksdb/utilities/fault_injection_fs.h +0 -9
  124. package/deps/rocksdb/rocksdb/utilities/transactions/transaction_test.cc +0 -59
  125. package/deps/rocksdb/rocksdb.gyp +0 -3
  126. package/index.js +2 -2
  127. package/package.json +1 -1
  128. package/prebuilds/darwin-arm64/node.napi.node +0 -0
  129. package/prebuilds/linux-x64/node.napi.node +0 -0
  130. package/deps/rocksdb/rocksdb/port/mmap.cc +0 -98
  131. package/deps/rocksdb/rocksdb/port/mmap.h +0 -70
  132. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.cc +0 -142
  133. package/deps/rocksdb/rocksdb/table/compaction_merging_iterator.h +0 -241
@@ -479,10 +479,7 @@ TEST_F(DBRangeDelTest, ValidUniversalSubcompactionBoundaries) {
479
479
  std::vector<std::string> values;
480
480
  // Write 100KB (100 values, each 1K)
481
481
  for (int k = 0; k < kNumPerFile; k++) {
482
- // For the highest level, use smaller value size such that it does not
483
- // prematurely cause auto compaction due to range tombstone adding
484
- // additional compensated file size
485
- values.push_back(rnd.RandomString((i == kNumLevels - 2) ? 600 : 990));
482
+ values.push_back(rnd.RandomString(990));
486
483
  ASSERT_OK(Put(Key(j * kNumPerFile + k), values[k]));
487
484
  }
488
485
  // put extra key to trigger flush
@@ -495,13 +492,7 @@ TEST_F(DBRangeDelTest, ValidUniversalSubcompactionBoundaries) {
495
492
  }
496
493
  ASSERT_OK(dbfull()->TEST_WaitForCompact());
497
494
  ASSERT_EQ(NumTableFilesAtLevel(0), 0);
498
- if (i == kNumLevels - 2) {
499
- // For the highest level, value size is smaller (see Put() above),
500
- // so output file number is smaller.
501
- ASSERT_GT(NumTableFilesAtLevel(kNumLevels - 1 - i), kFilesPerLevel - 2);
502
- } else {
503
- ASSERT_GT(NumTableFilesAtLevel(kNumLevels - 1 - i), kFilesPerLevel - 1);
504
- }
495
+ ASSERT_GT(NumTableFilesAtLevel(kNumLevels - 1 - i), kFilesPerLevel - 1);
505
496
  }
506
497
  // Now L1-L3 are full, when we compact L1->L2 we should see (1) subcompactions
507
498
  // happen since input level > 0; (2) range deletions are not dropped since
@@ -1670,213 +1661,6 @@ TEST_F(DBRangeDelTest, RangeTombstoneWrittenToMinimalSsts) {
1670
1661
  ASSERT_EQ(1, num_range_deletions);
1671
1662
  }
1672
1663
 
1673
- // Test SST partitioner cut after every single key
1674
- class SingleKeySstPartitioner : public SstPartitioner {
1675
- public:
1676
- const char* Name() const override { return "SingleKeySstPartitioner"; }
1677
-
1678
- PartitionerResult ShouldPartition(
1679
- const PartitionerRequest& /*request*/) override {
1680
- return kRequired;
1681
- }
1682
-
1683
- bool CanDoTrivialMove(const Slice& /*smallest_user_key*/,
1684
- const Slice& /*largest_user_key*/) override {
1685
- return false;
1686
- }
1687
- };
1688
-
1689
- class SingleKeySstPartitionerFactory : public SstPartitionerFactory {
1690
- public:
1691
- static const char* kClassName() { return "SingleKeySstPartitionerFactory"; }
1692
- const char* Name() const override { return kClassName(); }
1693
-
1694
- std::unique_ptr<SstPartitioner> CreatePartitioner(
1695
- const SstPartitioner::Context& /* context */) const override {
1696
- return std::unique_ptr<SstPartitioner>(new SingleKeySstPartitioner());
1697
- }
1698
- };
1699
-
1700
- TEST_F(DBRangeDelTest, LevelCompactOutputCutAtRangeTombstoneForTtlFiles) {
1701
- Options options = CurrentOptions();
1702
- options.compression = kNoCompression;
1703
- options.compaction_pri = kMinOverlappingRatio;
1704
- options.disable_auto_compactions = true;
1705
- options.ttl = 24 * 60 * 60; // 24 hours
1706
- options.target_file_size_base = 8 << 10;
1707
- env_->SetMockSleep();
1708
- options.env = env_;
1709
- DestroyAndReopen(options);
1710
-
1711
- Random rnd(301);
1712
- // Fill some data so that future compactions are not bottommost level
1713
- // compaction, and hence they would try cut around files for ttl
1714
- for (int i = 5; i < 10; ++i) {
1715
- ASSERT_OK(Put(Key(i), rnd.RandomString(1 << 10)));
1716
- }
1717
- ASSERT_OK(Flush());
1718
- MoveFilesToLevel(3);
1719
- ASSERT_EQ("0,0,0,1", FilesPerLevel());
1720
-
1721
- for (int i = 5; i < 10; ++i) {
1722
- ASSERT_OK(Put(Key(i), rnd.RandomString(1 << 10)));
1723
- }
1724
- ASSERT_OK(Flush());
1725
- MoveFilesToLevel(1);
1726
- ASSERT_EQ("0,1,0,1", FilesPerLevel());
1727
-
1728
- env_->MockSleepForSeconds(20 * 60 * 60);
1729
- ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(),
1730
- Key(11), Key(12)));
1731
- ASSERT_OK(Put(Key(0), rnd.RandomString(1 << 10)));
1732
- ASSERT_OK(Flush());
1733
- ASSERT_EQ("1,1,0,1", FilesPerLevel());
1734
- // L0 file is new, L1 and L3 file are old and qualified for TTL
1735
- env_->MockSleepForSeconds(10 * 60 * 60);
1736
- MoveFilesToLevel(1);
1737
- // L1 output should be cut into 3 files:
1738
- // File 0: Key(0)
1739
- // File 1: (qualified for TTL): Key(5) - Key(10)
1740
- // File 1: DeleteRange [11, 12)
1741
- ASSERT_EQ("0,3,0,1", FilesPerLevel());
1742
- }
1743
-
1744
- TEST_F(DBRangeDelTest, CompactionEmitRangeTombstoneToSSTPartitioner) {
1745
- Options options = CurrentOptions();
1746
- auto factory = std::make_shared<SingleKeySstPartitionerFactory>();
1747
- options.sst_partitioner_factory = factory;
1748
- options.disable_auto_compactions = true;
1749
- DestroyAndReopen(options);
1750
-
1751
- Random rnd(301);
1752
- // range deletion keys are not processed when compacting to bottommost level,
1753
- // so creating a file at older level to make the next compaction not
1754
- // bottommost level
1755
- ASSERT_OK(db_->Put(WriteOptions(), Key(4), rnd.RandomString(10)));
1756
- ASSERT_OK(Flush());
1757
- MoveFilesToLevel(5);
1758
-
1759
- ASSERT_OK(db_->Put(WriteOptions(), Key(1), rnd.RandomString(10)));
1760
- ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), Key(2),
1761
- Key(5)));
1762
- ASSERT_OK(Flush());
1763
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1764
- MoveFilesToLevel(1);
1765
- // SSTPartitioner decides to cut when range tombstone start key is passed to
1766
- // it Note that the range tombstone [2, 5) itself span multiple keys but we
1767
- // are not able to partition in between yet.
1768
- ASSERT_EQ(2, NumTableFilesAtLevel(1));
1769
- }
1770
-
1771
- TEST_F(DBRangeDelTest, OversizeCompactionGapBetweenPointKeyAndTombstone) {
1772
- // L2 has two files
1773
- // L2_0: 0, 1, 2, 3, 4. L2_1: 5, 6, 7
1774
- // L0 has 0, [5, 6), 8
1775
- // max_compaction_bytes is less than the size of L2_0 and L2_1.
1776
- // When compacting L0 into L1, it should split into 3 files.
1777
- const int kNumPerFile = 4, kNumFiles = 2;
1778
- Options options = CurrentOptions();
1779
- options.disable_auto_compactions = true;
1780
- options.target_file_size_base = 9 * 1024;
1781
- options.max_compaction_bytes = 9 * 1024;
1782
- DestroyAndReopen(options);
1783
- Random rnd(301);
1784
- for (int i = 0; i < kNumFiles; ++i) {
1785
- std::vector<std::string> values;
1786
- for (int j = 0; j < kNumPerFile; j++) {
1787
- values.push_back(rnd.RandomString(3 << 10));
1788
- ASSERT_OK(Put(Key(i * kNumPerFile + j), values[j]));
1789
- }
1790
- }
1791
- ASSERT_OK(db_->Flush(FlushOptions()));
1792
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1793
- MoveFilesToLevel(2);
1794
- ASSERT_EQ(2, NumTableFilesAtLevel(2));
1795
- ASSERT_OK(Put(Key(0), rnd.RandomString(1 << 10)));
1796
- ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), Key(5),
1797
- Key(6)));
1798
- ASSERT_OK(Put(Key(8), rnd.RandomString(1 << 10)));
1799
- ASSERT_OK(db_->Flush(FlushOptions()));
1800
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1801
-
1802
- ASSERT_OK(dbfull()->TEST_CompactRange(0, nullptr, nullptr, nullptr,
1803
- true /* disallow_trivial_move */));
1804
- ASSERT_EQ(3, NumTableFilesAtLevel(1));
1805
- }
1806
-
1807
- TEST_F(DBRangeDelTest, OversizeCompactionGapBetweenTombstone) {
1808
- // L2 has two files
1809
- // L2_0: 0, 1, 2, 3, 4. L2_1: 5, 6, 7
1810
- // L0 has two range tombstones [0, 1), [7, 8).
1811
- // max_compaction_bytes is less than the size of L2_0.
1812
- // When compacting L0 into L1, the two range tombstones should be
1813
- // split into two files.
1814
- const int kNumPerFile = 4, kNumFiles = 2;
1815
- Options options = CurrentOptions();
1816
- options.disable_auto_compactions = true;
1817
- options.target_file_size_base = 9 * 1024;
1818
- options.max_compaction_bytes = 9 * 1024;
1819
- DestroyAndReopen(options);
1820
- Random rnd(301);
1821
- for (int i = 0; i < kNumFiles; ++i) {
1822
- std::vector<std::string> values;
1823
- // Write 12K (4 values, each 3K)
1824
- for (int j = 0; j < kNumPerFile; j++) {
1825
- values.push_back(rnd.RandomString(3 << 10));
1826
- ASSERT_OK(Put(Key(i * kNumPerFile + j), values[j]));
1827
- }
1828
- }
1829
- ASSERT_OK(db_->Flush(FlushOptions()));
1830
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1831
- MoveFilesToLevel(2);
1832
- ASSERT_EQ(2, NumTableFilesAtLevel(2));
1833
- ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), Key(0),
1834
- Key(1)));
1835
- ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), Key(7),
1836
- Key(8)));
1837
- ASSERT_OK(db_->Flush(FlushOptions()));
1838
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1839
-
1840
- ASSERT_OK(dbfull()->TEST_CompactRange(0, nullptr, nullptr, nullptr,
1841
- true /* disallow_trivial_move */));
1842
- // This is L0 -> L1 compaction
1843
- // The two range tombstones are broken up into two output files
1844
- // to limit compaction size.
1845
- ASSERT_EQ(2, NumTableFilesAtLevel(1));
1846
- }
1847
-
1848
- TEST_F(DBRangeDelTest, OversizeCompactionPointKeyWithinRangetombstone) {
1849
- // L2 has two files
1850
- // L2_0: 0, 1, 2, 3, 4. L2_1: 6, 7, 8
1851
- // L0 has [0, 9) and point key 5
1852
- // max_compaction_bytes is less than the size of L2_0.
1853
- // When compacting L0 into L1, the compaction should cut at point key 5.
1854
- Options options = CurrentOptions();
1855
- options.disable_auto_compactions = true;
1856
- options.target_file_size_base = 9 * 1024;
1857
- options.max_compaction_bytes = 9 * 1024;
1858
- DestroyAndReopen(options);
1859
- Random rnd(301);
1860
- for (int i = 0; i < 9; ++i) {
1861
- if (i == 5) {
1862
- ++i;
1863
- }
1864
- ASSERT_OK(Put(Key(i), rnd.RandomString(3 << 10)));
1865
- }
1866
- ASSERT_OK(db_->Flush(FlushOptions()));
1867
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1868
- MoveFilesToLevel(2);
1869
- ASSERT_EQ(2, NumTableFilesAtLevel(2));
1870
- ASSERT_OK(db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), Key(0),
1871
- Key(9)));
1872
- ASSERT_OK(Put(Key(5), rnd.RandomString(1 << 10)));
1873
- ASSERT_OK(db_->Flush(FlushOptions()));
1874
- ASSERT_EQ(1, NumTableFilesAtLevel(0));
1875
- ASSERT_OK(dbfull()->TEST_CompactRange(0, nullptr, nullptr, nullptr,
1876
- true /* disallow_trivial_move */));
1877
- ASSERT_EQ(2, NumTableFilesAtLevel(1));
1878
- }
1879
-
1880
1664
  TEST_F(DBRangeDelTest, OverlappedTombstones) {
1881
1665
  const int kNumPerFile = 4, kNumFiles = 2;
1882
1666
  Options options = CurrentOptions();
@@ -2309,7 +2093,6 @@ TEST_F(DBRangeDelTest, NonOverlappingTombstonAtBoundary) {
2309
2093
  options.compression = kNoCompression;
2310
2094
  options.disable_auto_compactions = true;
2311
2095
  options.target_file_size_base = 2 * 1024;
2312
- options.level_compaction_dynamic_file_size = false;
2313
2096
  DestroyAndReopen(options);
2314
2097
 
2315
2098
  Random rnd(301);
@@ -2725,7 +2508,7 @@ TEST_F(DBRangeDelTest, LeftSentinelKeyTest) {
2725
2508
  options.compression = kNoCompression;
2726
2509
  options.disable_auto_compactions = true;
2727
2510
  options.target_file_size_base = 3 * 1024;
2728
- options.max_compaction_bytes = 2048;
2511
+ options.max_compaction_bytes = 1024;
2729
2512
 
2730
2513
  DestroyAndReopen(options);
2731
2514
  // L2
@@ -2771,7 +2554,7 @@ TEST_F(DBRangeDelTest, LeftSentinelKeyTestWithNewerKey) {
2771
2554
  options.compression = kNoCompression;
2772
2555
  options.disable_auto_compactions = true;
2773
2556
  options.target_file_size_base = 3 * 1024;
2774
- options.max_compaction_bytes = 3 * 1024;
2557
+ options.max_compaction_bytes = 1024;
2775
2558
 
2776
2559
  DestroyAndReopen(options);
2777
2560
  // L2
@@ -3013,110 +2796,6 @@ TEST_F(DBRangeDelTest, RangeTombstoneRespectIterateUpperBound) {
3013
2796
  ASSERT_OK(iter->status());
3014
2797
  }
3015
2798
 
3016
- TEST_F(DBRangeDelTest, RangetombesoneCompensateFilesize) {
3017
- Options opts = CurrentOptions();
3018
- opts.disable_auto_compactions = true;
3019
- DestroyAndReopen(opts);
3020
-
3021
- std::vector<std::string> values;
3022
- Random rnd(301);
3023
- // file in L2
3024
- values.push_back(rnd.RandomString(1 << 10));
3025
- ASSERT_OK(Put("a", values.back()));
3026
- values.push_back(rnd.RandomString(1 << 10));
3027
- ASSERT_OK(Put("b", values.back()));
3028
- ASSERT_OK(Flush());
3029
- MoveFilesToLevel(2);
3030
- uint64_t l2_size = 0;
3031
- ASSERT_OK(Size("a", "c", 0 /* cf */, &l2_size));
3032
- ASSERT_GT(l2_size, 0);
3033
- // file in L1
3034
- values.push_back(rnd.RandomString(1 << 10));
3035
- ASSERT_OK(Put("d", values.back()));
3036
- values.push_back(rnd.RandomString(1 << 10));
3037
- ASSERT_OK(Put("e", values.back()));
3038
- ASSERT_OK(Flush());
3039
- MoveFilesToLevel(1);
3040
- uint64_t l1_size = 0;
3041
- ASSERT_OK(Size("d", "f", 0 /* cf */, &l1_size));
3042
- ASSERT_GT(l1_size, 0);
3043
-
3044
- ASSERT_OK(
3045
- db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), "a", "f"));
3046
- ASSERT_OK(Flush());
3047
- // Range deletion compensated size computed during flush time
3048
- std::vector<std::vector<FileMetaData>> level_to_files;
3049
- dbfull()->TEST_GetFilesMetaData(dbfull()->DefaultColumnFamily(),
3050
- &level_to_files);
3051
- ASSERT_EQ(level_to_files[0].size(), 1);
3052
- ASSERT_EQ(level_to_files[0][0].compensated_range_deletion_size,
3053
- l1_size + l2_size);
3054
- ASSERT_EQ(level_to_files[1].size(), 1);
3055
- ASSERT_EQ(level_to_files[1][0].compensated_range_deletion_size, 0);
3056
- ASSERT_EQ(level_to_files[2].size(), 1);
3057
- ASSERT_EQ(level_to_files[2][0].compensated_range_deletion_size, 0);
3058
-
3059
- // Range deletion compensated size computed during compaction time
3060
- ASSERT_OK(dbfull()->TEST_CompactRange(0, nullptr, nullptr, nullptr,
3061
- true /* disallow_trivial_move */));
3062
- ASSERT_EQ(NumTableFilesAtLevel(0), 0);
3063
- ASSERT_EQ(NumTableFilesAtLevel(1), 1);
3064
- ASSERT_EQ(NumTableFilesAtLevel(2), 1);
3065
- dbfull()->TEST_GetFilesMetaData(dbfull()->DefaultColumnFamily(),
3066
- &level_to_files);
3067
- ASSERT_EQ(level_to_files[1].size(), 1);
3068
- ASSERT_EQ(level_to_files[1][0].compensated_range_deletion_size, l2_size);
3069
- ASSERT_EQ(level_to_files[2].size(), 1);
3070
- ASSERT_EQ(level_to_files[2][0].compensated_range_deletion_size, 0);
3071
- }
3072
-
3073
- TEST_F(DBRangeDelTest, RangetombesoneCompensateFilesizePersistDuringReopen) {
3074
- Options opts = CurrentOptions();
3075
- opts.disable_auto_compactions = true;
3076
- DestroyAndReopen(opts);
3077
-
3078
- std::vector<std::string> values;
3079
- Random rnd(301);
3080
- values.push_back(rnd.RandomString(1 << 10));
3081
- ASSERT_OK(Put("a", values.back()));
3082
- values.push_back(rnd.RandomString(1 << 10));
3083
- ASSERT_OK(Put("b", values.back()));
3084
- ASSERT_OK(Flush());
3085
- MoveFilesToLevel(2);
3086
-
3087
- ASSERT_OK(
3088
- db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), "a", "c"));
3089
- ASSERT_OK(Flush());
3090
- MoveFilesToLevel(1);
3091
-
3092
- ASSERT_OK(
3093
- db_->DeleteRange(WriteOptions(), db_->DefaultColumnFamily(), "a", "z"));
3094
- ASSERT_OK(Flush());
3095
-
3096
- std::vector<std::vector<FileMetaData>> level_to_files;
3097
- dbfull()->TEST_GetFilesMetaData(dbfull()->DefaultColumnFamily(),
3098
- &level_to_files);
3099
- ASSERT_EQ(level_to_files[0].size(), 1);
3100
- ASSERT_EQ(level_to_files[1].size(), 1);
3101
- ASSERT_EQ(level_to_files[2].size(), 1);
3102
- uint64_t l2_size = level_to_files[2][0].fd.GetFileSize();
3103
- uint64_t l1_size = level_to_files[1][0].fd.GetFileSize();
3104
- ASSERT_GT(l2_size, 0);
3105
- ASSERT_GT(l1_size, 0);
3106
- ASSERT_EQ(level_to_files[0][0].compensated_range_deletion_size,
3107
- l1_size + l2_size);
3108
- ASSERT_EQ(level_to_files[1][0].compensated_range_deletion_size, l2_size);
3109
-
3110
- Reopen(opts);
3111
- dbfull()->TEST_GetFilesMetaData(dbfull()->DefaultColumnFamily(),
3112
- &level_to_files);
3113
- ASSERT_EQ(level_to_files[0].size(), 1);
3114
- ASSERT_EQ(level_to_files[0][0].compensated_range_deletion_size,
3115
- l1_size + l2_size);
3116
- ASSERT_EQ(level_to_files[1].size(), 1);
3117
- ASSERT_EQ(level_to_files[1][0].compensated_range_deletion_size, l2_size);
3118
- }
3119
-
3120
2799
  #endif // ROCKSDB_LITE
3121
2800
 
3122
2801
  } // namespace ROCKSDB_NAMESPACE
@@ -1203,8 +1203,6 @@ void CheckColumnFamilyMeta(
1203
1203
  file_meta_from_files.file_creation_time);
1204
1204
  ASSERT_GE(file_meta_from_cf.file_creation_time, start_time);
1205
1205
  ASSERT_LE(file_meta_from_cf.file_creation_time, end_time);
1206
- ASSERT_EQ(file_meta_from_cf.epoch_number,
1207
- file_meta_from_files.epoch_number);
1208
1206
  ASSERT_GE(file_meta_from_cf.oldest_ancester_time, start_time);
1209
1207
  ASSERT_LE(file_meta_from_cf.oldest_ancester_time, end_time);
1210
1208
  // More from FileStorageInfo
@@ -1255,7 +1253,6 @@ void CheckLiveFilesMeta(
1255
1253
  ASSERT_EQ(meta.largestkey, expected_meta.largest.user_key().ToString());
1256
1254
  ASSERT_EQ(meta.oldest_blob_file_number,
1257
1255
  expected_meta.oldest_blob_file_number);
1258
- ASSERT_EQ(meta.epoch_number, expected_meta.epoch_number);
1259
1256
 
1260
1257
  // More from FileStorageInfo
1261
1258
  ASSERT_EQ(meta.file_type, kTableFile);