rocksdb/db/db_impl
Changyu Bi 15e8a843d9 Do not include last level in compaction when allow_ingest_behind=true (#11489)
Summary:
when a DB is configured with `allow_ingest_behind = true`, the last level should be reserved for ingested files and these files should not be included in any compaction. Currently, a major compaction can compact these files to smaller levels. This can cause future files to be rejected for ingest behind (see `ExternalSstFileIngestionJob::CheckLevelForIngestedBehindFile()`). This PR fixes the issue such that files in the last level is not included in any compaction.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/11489

Test Plan: * Updated unit test `ExternalSSTFileTest.IngestBehind` to test that last level is not included in manual and auto-compaction.

Reviewed By: ajkr

Differential Revision: D46455711

Pulled By: cbi42

fbshipit-source-id: 5e2142c2a709ef932ad797897795021c06c4ac8c
2023-06-14 11:28:56 -07:00
..
compacted_db_impl.cc Group rocksdb.sst.read.micros stat by IOActivity flush and compaction (#11288) 2023-04-21 09:07:18 -07:00
compacted_db_impl.h Support Clip DB to KeyRange (#11379) 2023-05-18 13:25:01 -07:00
db_impl.cc Support Clip DB to KeyRange (#11379) 2023-05-18 13:25:01 -07:00
db_impl.h add property "rocksdb.obsolete-sst-files-size" (#11533) 2023-06-13 15:52:45 -07:00
db_impl_compaction_flush.cc Do not include last level in compaction when allow_ingest_behind=true (#11489) 2023-06-14 11:28:56 -07:00
db_impl_debug.cc Add WaitForCompact with WaitForCompactOptions to public API (#11436) 2023-05-25 17:25:51 -07:00
db_impl_experimental.cc Record and use the tail size to prefetch table tail (#11406) 2023-05-08 13:14:28 -07:00
db_impl_files.cc add property "rocksdb.obsolete-sst-files-size" (#11533) 2023-06-13 15:52:45 -07:00
db_impl_open.cc switch to use RocksDB UnorderedMap (#11507) 2023-06-05 13:36:26 -07:00
db_impl_readonly.cc Add missing stopwatch and perf timer to DBImplReadOnly (#11521) 2023-06-08 17:40:56 -07:00
db_impl_readonly.h Support Clip DB to KeyRange (#11379) 2023-05-18 13:25:01 -07:00
db_impl_secondary.cc switch to use RocksDB UnorderedMap (#11507) 2023-06-05 13:36:26 -07:00
db_impl_secondary.h Add utils to use for handling user defined timestamp size record in WAL (#11451) 2023-05-22 14:28:58 -07:00
db_impl_write.cc Logging timestamp size record in WAL and use it during recovery (#11471) 2023-05-30 19:32:00 -07:00