-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Enable target_file_size_is_upper_bound by default #14126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Summary: This change the default value of target_file_size_is_upper_bound from false to true. This option enforces that SST files strictly respect the `target_file_size_base` limit as an upper bound (hard limit) rather than a soft target. Test Plan: Existing tests. Updated multiple tests to explicitly disable the option where the old behavior is needed for testing specific behavior Reviewers: Subscribers: Tasks: Tags:
`num_data_blocks` is only written by the emit thread, never by worker threads, and read by emit thread when deciding when to cut an output file during compaction
|
Crash tests are failing due to an assertion failure in BlockBasedTableBuilder::Finish that checks the estimated file size is greater than the actual file size. This assertion exists to validate target_file_size_is_upper_bound option strictly enforces the target_file_size limit for compaction files. Due to this, some crash tests fail because the estimated file size is underestimated. I plan to improve the accuracy of the tail size estimate in a follow-up PR, as this issue does not affect correctness. |
pdillinger
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Waiting for more production validation first. Also, we need to keep the crash test in a relatively clean state best we can.
Summary:
Enable
target_file_size_is_upper_boundoption by default to enforce stricter file size limits when deciding whether to cut a compaction output file. This prevents output SST files from exceedingtarget_file_size_base. When false, SST files might exceed thetarget_file_size_base.Changes:
Test Plan:
Existing tests.