Repository navigation
Flake batch 6: health-check retry, watch and scope waits, scope-revocation task lookup - #1053
Merged
Merged
Conversation
…tail The bridge health test asserted Ok on a single health.check right after the post-bind refresh barrier. On a loaded runner the report can be Degraded transiently: the rollup marks a root busy when one of its state locks is held during the census, and the reply marks itself Degraded when the executor scheduler lock is contended. Request a fresh rollup and ask again for up to 30 s, never accepting Degraded, and print the last report's detail and stale_reason on failure. The watchdog is raised to 60 s so the driver's own failure message wins. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
…ners The slow-page watch helper gave up after 10 s while the long-reply test grants its watch 20 s, and the scope-workdir bind test allowed 5 s for a configure completion. Both failed on a loaded Windows runner (PR #1045's merge group) while the code under test was still inside its budget. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
The close_case tests read the bash task from one process-wide slot that observing_dispatch fills when the spawn dispatch returns. The child is released before that dispatch returns, so a loaded runner can show the pid file, finish the describe/ping round trip and assert before the slot is written: alone in a process the slot is empty (unwrap at :33), and after codemode_background_task_killed_when_run_scope_ends_and_only_then it still holds that test's head-session task, which status() for run-session cannot see (unwrap at :40). Observations are now a list keyed by the command each test sent (its pid path is in its own temp root), and readers wait up to 5 s for their own entry. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
…s task A loaded runner can delay the dispatch's return; this is a positive wait, so a generous bound costs nothing when it succeeds. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Main's new worker-codemode test read the old single observed-task slot, which this branch replaces with a per-command lookup. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
ualtinok
force-pushed
the
land/flake-batch-6
branch
from
October 27, 2026 17:30
bcf9844 to
b1ff5b4
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.
Test-only fixes for merge-queue failures.
subc_bridge_health_check_returns_root_status_reportasserted health Ok once after a refresh barrier and got Degraded on a loaded Linux runner (PR aft_callgraph: callback references, constructor-only construction, honest zero callers, hidden Rust inline tests (#937, #973) #1015's group). Of the six Degraded conditions inbuild_health_report, only two transient lock-contention states are reachable in this fixture. The test now refreshes and asks again until Ok within 30 s, never accepts Degraded, and prints the report's detail and stale_reason on failure.commands::bash_watchslow-page tests: the helper's hard deadline (10 s) was shorter than the 20 s reply budget the long-budget test grants its watch; it failed on Windows (PR Windows: config files can be replaced while AFT reads them #1045's group) while the watch was still inside its budget. Now 60 s.subc::scope_workdir_tests::scope_workdir_bind_reply_is_byte_for_byte_unchangedallowed 5 s for the configure completion; Windows (same group) took longer. Now 30 s.Build server: Windows target check with -D warnings; the watch and scope-workdir lib tests and the health integration test pass.
scope_revocation_test: the tests read the bash task they started from one process-wide slot. The child publishes its pid file before the spawn dispatch returns and reports the task id, so on a loaded runner the slot could still be empty (nextest, one process per test:OnceLock::getNone) or hold another parallel test's task (cargo test, one process:statusfor the session returned None). It failed three merge groups (carrying land: bash-watch-each-line #911, aft_callgraph: callback references, constructor-only construction, honest zero callers, hidden Rust inline tests (#937, #973) #1015, Windows: config files can be replaced while AFT reads them #1045, gh shim: test stand-in judges requests by Plexus's contract; URL arguments send the bare number #1048 in different mixes). Each test now looks up the task by the pid-file path its own command names and waits up to 30 s for the dispatch to report it.