rocksdb/db/compaction
Changyu Bi e490f2b051 Fix a bug in ReFitLevel() where `FileMetaData::being_compacted` is not cleared (#13009)
Summary:
in ReFitLevel(), we were not setting being_compacted to false after ReFitLevel() is done. This is not a issue if refit level is successful, since new FileMetaData is created for files at the target level. However, if there's an error during RefitLevel(), e.g., Manifest write failure, we should clear the being_compacted field for these files. Otherwise, these files will not be picked for compaction until db reopen.

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

Test Plan:
existing test.
- stress test failure in T200339331 should not happen anymore.

Reviewed By: hx235

Differential Revision: D62597169

Pulled By: cbi42

fbshipit-source-id: 0ba659806da6d6d4b42384fc95268b2d7bad720e
2024-09-12 15:19:14 -07:00
..
clipping_iterator.h Refactor AddRangeDels() + consider range tombstone during compaction file cutting (#11113) 2023-02-22 12:28:18 -08:00
clipping_iterator_test.cc Print stack traces on frozen tests in CI (#10828) 2022-10-18 00:35:35 -07:00
compaction.cc Fix a bug in ReFitLevel() where `FileMetaData::being_compacted` is not cleared (#13009) 2024-09-12 15:19:14 -07:00
compaction.h Fix a bug in ReFitLevel() where `FileMetaData::being_compacted` is not cleared (#13009) 2024-09-12 15:19:14 -07:00
compaction_iteration_stats.h Add initial support for TimedPut API (#12419) 2024-03-14 15:44:55 -07:00
compaction_iterator.cc Add CompactForTieringCollector to support automatically trigger compaction for tiering use case (#12760) 2024-06-18 10:51:29 -07:00
compaction_iterator.h Add CompactForTieringCollector to support automatically trigger compaction for tiering use case (#12760) 2024-06-18 10:51:29 -07:00
compaction_iterator_test.cc Add CompactForTieringCollector to support automatically trigger compaction for tiering use case (#12760) 2024-06-18 10:51:29 -07:00
compaction_job.cc Make compaction always use the input version with extra ref protection (#12992) 2024-09-06 14:07:33 -07:00
compaction_job.h Add CompactForTieringCollector to support automatically trigger compaction for tiering use case (#12760) 2024-06-18 10:51:29 -07:00
compaction_job_stats_test.cc Replace ScopedArenaIterator with ScopedArenaPtr<InternalIterator> (#12470) 2024-03-22 13:40:42 -07:00
compaction_job_test.cc Options for file temperature for more files (#12957) 2024-08-23 19:49:25 -07:00
compaction_outputs.cc Preserve TimedPut on penultimate level until it actually expires (#12543) 2024-04-30 11:16:02 -07:00
compaction_outputs.h Preserve TimedPut on penultimate level until it actually expires (#12543) 2024-04-30 11:16:02 -07:00
compaction_picker.cc Fix a bug in ReFitLevel() where `FileMetaData::being_compacted` is not cleared (#13009) 2024-09-12 15:19:14 -07:00
compaction_picker.h Fix a bug in ReFitLevel() where `FileMetaData::being_compacted` is not cleared (#13009) 2024-09-12 15:19:14 -07:00
compaction_picker_fifo.cc default_write_temperature option (#12388) 2024-02-28 14:36:13 -08:00
compaction_picker_fifo.h Remove 'virtual' when implied by 'override' (#12319) 2024-01-31 13:14:42 -08:00
compaction_picker_level.cc Use compensated file size for intra-L0 compaction (#12878) 2024-08-01 17:49:34 -07:00
compaction_picker_level.h Remove 'virtual' when implied by 'override' (#12319) 2024-01-31 13:14:42 -08:00
compaction_picker_test.cc fix compaction_picker_test asan heap use after free (#12908) 2024-08-09 15:06:37 -07:00
compaction_picker_universal.cc Improve universal compaction sorted-run trigger (#12477) 2024-05-24 10:10:31 -07:00
compaction_picker_universal.h Remove 'virtual' when implied by 'override' (#12319) 2024-01-31 13:14:42 -08:00
compaction_service_job.cc Make compaction always use the input version with extra ref protection (#12992) 2024-09-06 14:07:33 -07:00
compaction_service_test.cc Add Remote Compaction Installation Callback Function (#12940) 2024-08-19 11:22:43 -07:00
compaction_state.cc Tiered Compaction: per key placement support (#9964) 2022-07-13 20:54:49 -07:00
compaction_state.h Tiered Compaction: per key placement support (#9964) 2022-07-13 20:54:49 -07:00
file_pri.h Avoid shifting component too large error in FileTtlBooster (#11673) 2023-08-04 14:29:50 -07:00
sst_partitioner.cc Remove FactoryFunc from LoadXXXObject (#11203) 2023-02-17 12:54:07 -08:00
subcompaction_state.cc Refactor Compaction file cut `ShouldStopBefore()` (#10629) 2022-09-14 22:09:12 -07:00
subcompaction_state.h Refactor AddRangeDels() + consider range tombstone during compaction file cutting (#11113) 2023-02-22 12:28:18 -08:00
tiered_compaction_test.cc Add CompactForTieringCollector to support automatically trigger compaction for tiering use case (#12760) 2024-06-18 10:51:29 -07:00