Repository navigation
feat(ingest): retry PR hydrates held by a budget pause (RIG-4826) - #1971
Merged
mattwilkinsonn merged 1 commit intoOct 10, 2026
Merged
mattwilkinsonn merged 1 commit into
mattwilkinsonn merged 1 commit into
Conversation
This was referenced Oct 8, 2026
|
Compass engineering docs preview: https://compass-obs-rig-4826-pr-retr.compass-eng-docs.pages.dev Deployed from |
rigel-mintaka
force-pushed
the
compass-obs/rig-4826-pr-retry-set
branch
from
October 9, 2026 17:29
790b8eb to
4e6834a
Compare
rigel-mintaka
marked this pull request as ready for review
October 9, 2026 19:07
mattwilkinsonn
added this pull request to stack #1947
October 10, 2026 00:56
mattwilkinsonn
approved these changes
Oct 10, 2026
Contributor
|
/trunk merge |
|
🚫 This stack was removed from the merge queue because a stacked pull request in this stack was merged. See more details here. |
A budget pause now keeps the batch's un-hydrated PR keys in memory and re-drains them when the gate's reset hint passes, or with the next event. The sweep's updated_at gate cannot heal a CI-only change, so the drain must. Issue keys stay with the sweep. Spec-impact: none. Refs RIG-4826, RIG-4034 Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
force-pushed
the
compass-obs/rig-4826-pr-retry-set
branch
from
October 10, 2026 03:33
4e6834a to
c498b9d
Compare
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.
This PR is part of a stack containing 6 PRs:
mainSummary
The board webhook drain pauses when the forge budget runs out and abandons the rest of its batch. The sweep heals a dropped issue, because its
updated_atmoves. A CI-only change to a PR may not moveupdated_at, so the sweep never re-reads it and the board shows stale checks.This change keeps the batch's un-hydrated PR keys in an in-memory set and re-drains them when the gate's reset hint passes (one minute when no hint is given). A fresh event for a held key is left to the timer, so a PR whose budget is still out never pauses a new batch of issue events. The set is capped at the queue size, and overflow counts as a drop. Issue keys stay with the sweep.
Verification
Runwaits the hint and then re-drains with no new event.go test -race ./..., ingest and server pgtests, golangci-lint: all pass.Risks
The set lives in memory and is lost on restart. A PR still in it waits for its next event.
Compatibility
No API, schema or config change.
Documentation
None: internal drain behaviour; comments updated in place.
Spec-impact: none. Refs RIG-4826