Reset the commit-stall clock on processing progress - #7
Merged
Conversation
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.
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.
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
MaxCommitStallto 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).
ProcessFileToprogress callback into the stall clock.stalledOut/idleSinceand unit-test that progress resets the clock.