mirror of
https://github.com/facebook/rocksdb.git
synced 2026-07-07 14:47:40 +08:00
Cap max table files size in db stress FIFO compactions (#14341)
Summary: FIFO crash tests fail on DB open when `fifo_compaction_max_data_files_size_mb` is randomly set to 100 or 500 MB, because `max_table_files_size` defaults to 1GB and the validation requires `max_data_files_size` >= `max_table_files_size` when non-zero. Cap `max_table_files_size` to `max_data_files_size` in db_stress when the latter is set. `max_table_files_size` is ignored at runtime when `max_data_files_size` is non-zero, so this only satisfies the validation constraint. Pull Request resolved: https://github.com/facebook/rocksdb/pull/14341 Reviewed By: pdillinger Differential Revision: D93503113 Pulled By: mszeszko-meta fbshipit-source-id: 5c3e7c9b568661244c71c548cb0fe5e55472c0ca
This commit is contained in:
committed by
meta-codesync[bot]
parent
88ff4f6b12
commit
821bd37d09
@@ -4381,6 +4381,11 @@ void InitializeOptionsFromFlags(
|
||||
if (FLAGS_fifo_compaction_max_data_files_size_mb > 0) {
|
||||
options.compaction_options_fifo.max_data_files_size =
|
||||
FLAGS_fifo_compaction_max_data_files_size_mb * 1024 * 1024;
|
||||
// max_table_files_size is ignored when max_data_files_size is non-zero,
|
||||
// but validation requires max_data_files_size >= max_table_files_size.
|
||||
options.compaction_options_fifo.max_table_files_size =
|
||||
std::min(options.compaction_options_fifo.max_table_files_size,
|
||||
options.compaction_options_fifo.max_data_files_size);
|
||||
}
|
||||
options.compaction_options_fifo.use_kv_ratio_compaction =
|
||||
FLAGS_fifo_compaction_use_kv_ratio_compaction;
|
||||
|
||||
Reference in New Issue
Block a user