Repository navigation
Flake batch 11: watcher-drain rewind test waits by time and yields - #1071
Merged
Merged
Conversation
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com> (cherry picked from commit 96b96e5f9965085ae8ca7e6f172602aada7dfdd2)
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
ualtinok
force-pushed
the
land/flake-batch-11
branch
from
October 28, 2026 07:13
25ef6f1 to
0f72e21
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.
#911's merge-queue run failed macOS libtest on
runtime_drain::tests::budget_interrupted_stage_rewinds_when_unbind_lands_mid_stage(run 40609485775): after rebind the test called the bounded drain 32 times in about 150 ms, each reporting more work, and gave up.The test's watcher is a manual channel with no platform watcher, so the more-work state can only come from the retained continuation re-parking. When the route is bound, the only park that makes no progress is a non-blocking LSP-manager try-lock while the language-server applicability worker (started by the first batch) holds it. The test's tight loop with no yield can starve that worker on a loaded runner. Production drains run on a cadence and retry, so they're unaffected.
The loop now yields between slices and is bounded by a 30 s deadline instead of a 32-slice count, matching the neighbouring rescan test. It still proves the replay finishes and both markers are indexed. Isolated runs passed before and after on macOS and Linux; the original failure needs shard load and was not reproduced. Test-only.
Summary by cubic
Fixes the flaky
runtime_drain::tests::budget_interrupted_stage_rewinds_when_unbind_lands_mid_stagetest that failed under shard load on macOS.The bounded drain loop no longer spins up to 32 slices without yielding; it yields between slices and gives up after a 30 s deadline, matching the neighbouring rescan test. The tight loop could starve the language-server applicability worker that holds the manager try-lock, the only zero-progress park in the replay. The test still proves the replay finishes and both markers are indexed. Test-only, and adds the search-quality descriptor for flake batch 11.
Written for commit 0f72e21. Summary will update on new commits.