Skip to content

Check the walltime deadline during gather and child waits - #48

Merged
zaihuaji merged 1 commit into
mainfrom
hua-work-dsquasar
Sep 30, 2026
Merged

zaihuaji merged 1 commit into
mainfrom
hua-work-dsquasar

Conversation

@zaihuaji

Copy link
Copy Markdown
Collaborator

Summary

  • The walltime guard was only reachable from the per-item work loops. A run that spent its last hour in a gather phase, or parked in check_child(..., dowait=1) waiting on the final tar children, never reached check_batch_deadline() - so the PBS kill produced no progress report at all.
  • Adds the guard to the three gather loops (dataset, infile and tarfile gathers).
  • New wait_all_children() replaces the three blocking check_child(..., dowait=1) calls; it polls with dowait 0 and sleeps via show_wait_message, keeping the same cadence while checking the deadline between polls.

Test plan

  • ast.parse clean; check_child/show_wait_message signatures verified against pg_sig.py
  • Confirm a run killed at walltime during a gather or a child wait now mails its progress report

…g on child processes; bump version to 3.0.16

The deadline guard was only reachable from the per-item work loops, so a run
that spent its last hour gathering datasets or waiting on the final tar
children never parked a progress report and the walltime kill looked silent.

Adds the guard to the three gather loops and replaces the blocking
check_child(..., dowait=1) calls with wait_all_children(), which polls with
dowait 0 so the deadline is checked between polls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@zaihuaji
zaihuaji merged commit 62af4e7 into main Sep 30, 2026
1 of 2 checks passed
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