Conversation
tmakatos
added this pull request to stack #71
October 1, 2026 12:18
tmakatos
force-pushed
the
fix_validation
branch
from
October 1, 2026 16:23
0718e35 to
9428bab
Compare
tmakatos
force-pushed
the
fix_validation
branch
from
October 1, 2026 16:35
9428bab to
329b1b6
Compare
tmakatos
force-pushed
the
fix_validation
branch
2 times, most recently
from
October 2, 2026 05:05
0f99df5 to
c87327b
Compare
Post-scale validation compared lifetime I/O totals as if they were rates. Example: baseline 165453639 ops, observed 171620504 (+3.7%) after the validation polls, required 173726321 (+5% of the lifetime total), a steady multi-hundred-kops workload still failed validation and was reverted. Scale-up is still proposed when CPU utilisation is above the scale up threshold; validation is meant to require at least scale_up_min_gain more IOPS afterward. Applying that percent to lifetime totals made even healthy post-scale rates look like failures. Compare IOPS over the pre-scale baseline window (from the last settled baseline reset through the scale decision; not a dedicated duration knob) to IOPS over the post-scale window governed by scale_validation_sample_polls. When validating a scale down that ran because CPU utilisation was low, do not revert just because IOPS fell with demand: if utilisation is still at or below the scale up threshold, keep the smaller pool. Enrich the existing scale up decision log with current_iops, min_target_iops, and validation_after_secs to make it clear what the minimum performance must be achieved and when for the scale up to be considered successful. AI-generated: everything, manual fixup of commit message Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
tmakatos
force-pushed
the
fix_validation
branch
from
October 2, 2026 06:31
c87327b to
ec230c5
Compare
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.
Post-scale validation compared lifetime I/O totals as if they were
rates. Example: baseline 165453639 ops, observed 171620504 (+3.7%) after
the validation polls, required 173726321 (+5% of the lifetime total), a
steady multi-hundred-kops workload still failed validation and was
reverted.
Scale-up is still proposed when CPU utilisation is above the scale up
threshold; validation is meant to require at least scale_up_min_gain
more IOPS afterward. Applying that percent to lifetime totals made even
healthy post-scale rates look like failures.
Compare IOPS over the pre-scale baseline window (from the last
settled baseline reset through the scale decision; not a dedicated
duration knob) to IOPS over the post-scale window governed by
scale_validation_sample_polls.
When validating a scale down that ran because CPU utilisation was low,
do not revert just because IOPS fell with demand: if utilisation is
still at or below the scale up threshold, keep the smaller pool.
Enrich the existing scale up decision log with current_iops,
min_target_iops, and validation_after_secs to make it clear what the
minimum performance must be achieved and when for the scale up to be
considered successful.
AI-generated: everything, manual fixup of commit message
Signed-off-by: Thanos Makatos thanos.makatos@nutanix.com
Stack created with GitHub Stacks CLI • Give Feedback 💬