Repository navigation
land: watcher-retry-test - #757
Merged
Merged
Conversation
…dget exclusion_planner_timed_out_roots_retry_same_generation failed on Windows CI with "capacity is free: IoDeadline". After the test released its two held workers, eight retries ran at once through the pool's two permits. Each retry had a 2 s budget, and that budget covers both the wait for a permit and the filesystem plan. On a loaded Windows runner one plan of these small roots took 460 ms to 1.23 s (about 1 ms when the runner is idle), so the retries at the back of the queue ran out of time. The retries' premise, that capacity is free, was false. This is a test bug. The planner is not compiled into Windows production builds, and on Linux and macOS an unavailable plan is retried with backoff by design. The test now waits until the released workers return their permits, then retries each root in turn with a plan computed before the attempt. The attempt still takes a permit from the shared pool, and the retry bookkeeping assertions are unchanged. Load loop on the native Windows runner, 8 parallel copies beside the full lib suite: 8 failures in 2400 runs before, 0 in 2400 after. Mutation: making record_outcome consume the generation on failure reddens this test only. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com> (cherry picked from commit f123bd09cceb8f3bc4253497e31a417b7cd5ea80)
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
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.
Accepted agent delivery; branch-keyed search descriptor included.
Summary by cubic
Fixes
exclusion_planner_timed_out_roots_retry_same_generation, which timed out on loaded Windows CI runners: the 2 s test budget covers both waiting for a pool permit and the filesystem plan, so retries queued behind the pool's two permits ran out of time. The test now waits for the released workers to return their permits, then retries each root sequentially with the plan computed before the attempt. Retry bookkeeping assertions are unchanged.Adds a search-quality benchmark descriptor for
watcher-retry-test.Written for commit 97eaf8f. Summary will update on new commits.


Confidence Score: 5/5
This PR appears safe to merge.Summary
This PR stabilizes a watcher retry test without changing production behavior.
Reviews (1) · Last reviewed commit: "release notes and search-quality descrip..." · Reviewed by Greptile