Repository navigation
fix(worker): bound finalization backlog and key metadata completions (0.6) - #686
JosiahBull wants to merge 2 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
Carry the complete fix from hardbyte#648 onto the current 0.6 release branch, preserving heartbeat ownership and lock-contention retries. Add coverage for shutdown while finalizer capacity is saturated. Co-authored-by: Brian Thorne <brian@hardbyte.nz>
…stic Exercise the same batch writer from its private test module with explicit distinct microsecond run_at values. Preserve the 9,000-row insertion, segment-count and claim assertions without relying on host clock resolution.
0fb29d4 to
9bd988b
Compare
|
Superseded by #695, which carries these two commits unchanged onto the current release/0.6.6, plus a shutdown fix and a lease-path stall test. |
Supersedes #648 with its complete fix rebased onto the current
release/0.6.6branch.When handlers finish faster than durable completion, detached finalizers can accumulate without bound while retaining job payloads. Bound finalizer admission to
max(runtime worker capacity, 2 × completion batch size × completion shards)and keep worker capacity while waiting. Preserve the release branch's attempt heartbeats, finalization retries and graceful shutdown behavior.Also carry #648's compact metadata completion optimization: address the exact claim batch and item index, validate the job/run lease/receipt, and avoid locking or expanding unrelated immutable claim batches.
Regression coverage includes stalled finalization, shutdown with a saturated finalizer budget for both storage engines, and compact metadata completion. The ready-segment bind-limit regression now uses explicit distinct timestamps through the same private batch writer, preserving its 9,000-row insertion, segment-count and claim checks without relying on host clock resolution.
Validation:
9bd988b4: all 31 jobs passed. https://github.com/JosiahBull/awa/actions/runs/42470362191