Uh oh!
There was an error while loading. Please reload this page.
Run time-based snapshot tests concurrently - #8231
Open
Amaury Chamayou (achamayou) wants to merge 3 commits into
Open
Run time-based snapshot tests concurrently#8231Amaury Chamayou (achamayou) wants to merge 3 commits into
Amaury Chamayou (achamayou) wants to merge 3 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: fa9108b8-a23b-4514-ba62-747359f77348
Contributor
There was a problem hiding this comment.
Pull request overview
This PR parallelises the three time-based snapshotting scenarios inside run_time_based_snapshotting() to reduce the wall-clock time of the schema_test path in bucket_b, while keeping each scenario’s network configuration isolated via per-scenario args.label and snapshot_min_tx_interval.
Changes:
- Run the low/exact/high time-based snapshot scenarios concurrently using
concurrent.futures.ThreadPoolExecutor. - Refactor each scenario into its own
run_*worker function to preserve separate network setup/teardown per scenario.
Custom instructions used:
- None (no
.github/copilot-instructions.mdor.github/instructions/*files were loaded during this review)
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Uh oh!
There was an error while loading. Please reload this page.
cjen1-msft
approved these changes
Aug 28, 2026
Eddy Ashton (eddyashton)
approved these changes
Aug 28, 2026
Amaury Chamayou (achamayou)
enabled auto-merge (squash)
August 28, 2026 13:14
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 freeto 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.
Summary
Measured effect
The affected code runs inside
schema_test(tests/schema.py->e2e_operations.run->run_time_based_snapshotting), the longest test inbucket_b. ctest runsbucket_bserially, so the saving passes straight through to the job.Comparing 2 CI runs on this branch against 8 recent
mainruns:main(n=8)schema_testschema_test, normalised (see below)bucket_bctest totalVMSS Virtual Bwall clockAll figures are means. Individual
schema_testsamples:main413.7 / 413.7 / 414.0 / 414.1 / 416.5 / 418.8 / 428.4 / 434.7; this PR 364.7 / 378.0.Normalisation. Runner speed varies noticeably between runs, so the five unchanged tests in
bucket_b(recovery_test,recovery_stale_snapshot_join_test,recovery_intermediate_snapshot_join_test,recovery_snapshot_endorsements_test,nodes_test) are used as a control. Their total was 425.1s onmainversus 428.4s here, i.e. the runners for this branch were ~0.8% slower, so the raw delta slightly understates the saving.Two notes:
VMSS Virtual Bis the critical path of the CI run (VMSS Virtual C~1050s,VMSS Virtual A~800s), so this comes off end-to-end CI time. B remains critical afterwards, but the margin over C narrows from ~100s to ~50s. Job wall clock is too noisy to confirm the saving on its own; the ctest figures are the reliable measure.