rocksdb/db/compaction
Peter Dillinger 13ef21c22e default_write_temperature option (#12388)
Summary:
Currently SST files that aren't applicable to last_level_temperature nor file_temperature_age_thresholds are written with temperature kUnknown, which is a little weird and doesn't support CF-based tiering. The default_temperature option only affects how kUnknown is interpreted for stats.

This change adds a new per-CF option default_write_temperature that determines the temperature of new SST files when those other options do not apply.

Also made a change to ignore last_level_temperature with FIFO compaction, because I found that could lead to an infinite loop in compaction.

Needed follow-up: Fix temperature handling with external file ingestion

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

Test Plan: unit tests extended appropriately. (Ignore whitespace changes when reviewing.)

Reviewed By: jowlyzhang

Differential Revision: D54266574

Pulled By: pdillinger

fbshipit-source-id: c9ec9a74dbf22be6e986f77f9689d05fea8ef0bb
2024-02-28 14:36:13 -08: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 Remove deprecated option level_compaction_dynamic_file_size (#12325) 2024-02-02 15:37:40 -08:00
compaction.h Remove unnecessary, confusing 'extern' (#12300) 2024-01-29 10:38:08 -08:00
compaction_iteration_stats.h Support readahead during compaction for blob files (#9187) 2021-11-19 17:53:47 -08:00
compaction_iterator.cc Check internal key range when compacting from last level to penultimate level (#12063) 2023-11-17 10:50:40 -08:00
compaction_iterator.h Check internal key range when compacting from last level to penultimate level (#12063) 2023-11-17 10:50:40 -08:00
compaction_iterator_test.cc Check internal key range when compacting from last level to penultimate level (#12063) 2023-11-17 10:50:40 -08:00
compaction_job.cc default_write_temperature option (#12388) 2024-02-28 14:36:13 -08:00
compaction_job.h Refactor, clean up, fixes, and more testing for SeqnoToTimeMapping (#11905) 2023-09-29 11:21:59 -07:00
compaction_job_stats_test.cc Make option level_compaction_dynamic_level_bytes true by default (#11525) 2023-06-15 21:12:39 -07:00
compaction_job_test.cc Remove bottommost_temperature (#12389) 2024-02-27 14:48:00 -08:00
compaction_outputs.cc Remove deprecated option level_compaction_dynamic_file_size (#12325) 2024-02-02 15:37:40 -08:00
compaction_outputs.h Removed check_flush_compaction_key_order (#12311) 2024-01-31 16:30:26 -08:00
compaction_picker.cc default_write_temperature option (#12388) 2024-02-28 14:36:13 -08:00
compaction_picker.h Remove deprecated option ignore_max_compaction_bytes_for_input (#12323) 2024-02-02 17:09:42 -08: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 default_write_temperature option (#12388) 2024-02-28 14:36:13 -08:00
compaction_picker_level.h Remove 'virtual' when implied by 'override' (#12319) 2024-01-31 13:14:42 -08:00
compaction_picker_test.cc Remove deprecated option ignore_max_compaction_bytes_for_input (#12323) 2024-02-02 17:09:42 -08:00
compaction_picker_universal.cc default_write_temperature option (#12388) 2024-02-28 14:36:13 -08:00
compaction_picker_universal.h Remove 'virtual' when implied by 'override' (#12319) 2024-01-31 13:14:42 -08:00
compaction_service_job.cc Removed check_flush_compaction_key_order (#12311) 2024-01-31 16:30:26 -08:00
compaction_service_test.cc Remove wait_unscheduled from waitForCompact internal API (#11443) 2023-05-17 18:13:50 -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 Remove bottommost_temperature (#12389) 2024-02-27 14:48:00 -08:00