roachtest/mixedversion: upgrade plan should be bounded #137963
+125
−34
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.
Previously, the mixedversion framework did not bound
the total number of steps in a test plan. Since steps
are generated according to different pseudo-random
distributions, the total number of resulting steps
can vary significantly.
E.g., for
tpcc/mixed-headroom/n5cpu16
, the smallesttest plan has 14 steps, whereas the largest, based
on a sampling of 1_000_000 valid test plans, has
135 steps!
High variability in the size of the test plan
is directly proportional to the running time.
Thus, a very large test plan can cause a test
to time out, due to exceeding its max running time.
That is the case for
tpcc/mixed-headroom/n5cpu16
.This PR adds an option, namely
MaxNumPlanSteps
,which enforces an upper bound. If a generated
test plan exceeds the specified value, a new
one is generated until the resulting length
is within the specification.
This PR also adds a primitive
dry-run
mode,which can be useful for debugging test plans.
If
MVT_DRY_RUN_MODE
env. var. is set, printthe mixedversion test plan and exit.
Resolves: #138014
Informs: #137332
Epic: none
Release note: None