Skip to content

Flake batch 6: health-check retry, watch and scope waits, scope-revocation task lookup - #1053

Merged
ualtinok merged 7 commits into
mainfrom
land/flake-batch-6
Oct 27, 2026
Merged

ualtinok merged 7 commits into
mainfrom
land/flake-batch-6

Conversation

@aft-alfonso

@aft-alfonso aft-alfonso Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Test-only fixes for merge-queue failures.

  • subc_bridge_health_check_returns_root_status_report asserted 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 in build_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_watch slow-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_unchanged allowed 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.

@aft-alfonso aft-alfonso Bot changed the title Flake batch 6: health-check retry, watch and scope-workdir waits Flake batch 6: health-check retry, watch and scope waits, scope-revocation task lookup Oct 27, 2026
@ualtinok
ualtinok added this pull request to the merge queue Oct 27, 2026
ualtinok and others added 7 commits October 27, 2026 18:21
…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
ualtinok removed this pull request from the merge queue due to a manual request Oct 27, 2026
@ualtinok
ualtinok added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit 2357ace Oct 27, 2026
91 checks passed
@ualtinok
ualtinok deleted the land/flake-batch-6 branch October 27, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant