Skip to content

Reset the commit-stall clock on processing progress - #7

Merged
tamnd merged 1 commit into
mainfrom
fix-commit-stall-deadlock
Jul 19, 2026
Merged

Reset the commit-stall clock on processing progress#7
tamnd merged 1 commit into
mainfrom
fix-commit-stall-deadlock

Conversation

@tamnd

@tamnd tamnd commented Jul 19, 2026

Copy link
Copy Markdown
Owner

The stall watchdog advanced its clock only on a completed month commit, but the commit runs after the whole month finishes processing. A month that takes longer than MaxCommitStall to process — a submissions month is ~47 min, any comments month is hours — was cancelled mid-process every retry and never committed. The publish deadlocked: the ledger stayed put while every job exited 75.

This counts a processed shard as forward progress, so the watchdog stays quiet while a healthy long month works and still fires on a genuine wedge (no shard progress for the full window).

  • Thread the existing ProcessFileTo progress callback into the stall clock.
  • Extract stalledOut/idleSince and unit-test that progress resets the clock.
  • Full suite + race green.

The stall watchdog only advanced its clock on a completed month commit, but a
commit happens after the whole month is processed. A month that takes longer
than MaxCommitStall to process (a submissions month is ~47 min, any comments
month is hours) was cancelled mid-process every time and never committed, so
the publish deadlocked on retry.

Count a processed shard as forward progress so the watchdog stays quiet while a
long month works and still fires on a genuine wedge.
@tamnd
tamnd merged commit 96eefee into main Jul 19, 2026
6 of 7 checks passed
@tamnd
tamnd deleted the fix-commit-stall-deadlock branch July 19, 2026 15:42
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