[seekdb][observer] Size automatic log disk from available space - #1325
Open
hnwyllmm wants to merge 9 commits into
Open
[seekdb][observer] Size automatic log disk from available space#1325hnwyllmm wants to merge 9 commits into
hnwyllmm wants to merge 9 commits into
Conversation
Member
Author
|
The mapping Dima issue is "[[SeekDB][systemd] Initial startup fails in high-memory, low-disk environments due to overly large automatic log_disk_size calculation". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task Description
When
log_disk_sizeis left at its automatic value, seekdb currently derives the log disk size from the memory budget. On high-memory hosts with a relatively small amount of remaining disk space, this can request a log disk larger than the redo filesystem can provide and make the first systemd startup fail withOB_LOG_OUTOF_DISK_SPACE.Solution Description
For automatic
log_disk_size, calculate the size from the redo filesystem's currently available capacity (f_bavail * f_bsize) and the existing configured/default percentage. Keep explicit byte-size configuration semantics unchanged. Reject an automatically calculated value below the existing server minimum instead of forcing a fixed 2 GiB default. Also return the selected automatic percentage correctly.Passed Regressions
make -C build_release ob_serverpassed.git diff --checkpassed.Upgrade Compatibility
The change only affects automatic
log_disk_sizecalculation when the configured byte size is zero. Explicitlog_disk_sizebehavior remains unchanged.Other Information
This MR does not add a unit test. It does not change datafile sizing and does not introduce joint capacity planning for data and log paths on the same filesystem.
Release Note