Skip to content

feat(stovepipe): recover record DLQ work - #623

Merged
mnoah1 merged 5 commits into
mnoah1/stovepipe-dlq-controller-conventionsfrom
mnoah1/stovepipe-record-dlq
Aug 20, 2026
Merged

feat(stovepipe): recover record DLQ work#623
mnoah1 merged 5 commits into
mnoah1/stovepipe-dlq-controller-conventionsfrom
mnoah1/stovepipe-record-dlq

Conversation

@mnoah1

@mnoah1 mnoah1 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Intent

  • Complete Stovepipe DLQ coverage for failures that occur while recording a completed request.
  • Reuse the existing idempotent record reconciliation path instead of introducing a separate controller or request lifecycle state.
  • This PR builds on refactor(stovepipe): align DLQ controller conventions #619, which aligns the Stovepipe DLQ controllers with repository conventions.

Changes

  • Register the existing record controller for the record_dlq topic with a distinct consumer group.
  • Derive record controller identity from its topic key so primary and DLQ instances have separate logging and metrics.
  • Cover the record-DLQ controller identity configuration.

Test Plan

  • ./tool/bazel test //stovepipe/controller/record:go_default_test --test_output=errors
  • ./tool/bazel build //service/stovepipe/server:stovepipe
  • make fmt
  • make gazelle

Revert Plan

  • Revert this PR to remove record-DLQ registration and restore the single record-controller identity.

@mnoah1
mnoah1 marked this pull request as ready for review August 19, 2026 20:22
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners August 19, 2026 20:22
mnoah1 added 5 commits August 19, 2026 20:45
Summary:
Intent:
- Complete Stovepipe DLQ coverage for record projection work.
- Recover terminal buildsignal handoffs without introducing another request lifecycle state.
- This PR builds on #619, which aligns the Stovepipe DLQ controllers with repository conventions.

Changes:
- Register the existing record reconciler for the record DLQ with distinct controller identity and consumer configuration.
- Replay record work when buildsignal processing reached a durable build outcome before its publish failed.
- Preserve request failure and slot-release reconciliation for nonterminal buildsignal DLQ messages.
- Cover record replay, retry, and DLQ controller identity behavior.

---

<sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
@behinddwalls
behinddwalls force-pushed the mnoah1/stovepipe-record-dlq branch from ca915fc to 95ea0b1 Compare August 20, 2026 03:45
@mnoah1
mnoah1 added this pull request to the merge queue Aug 20, 2026
Merged via the queue into main with commit 96a8ce6 Aug 20, 2026
14 checks passed
@mnoah1
mnoah1 deployed to stack-rebase August 20, 2026 13:27 — with GitHub Actions Active
@behinddwalls
behinddwalls deleted the mnoah1/stovepipe-record-dlq branch August 20, 2026 13:28
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.

2 participants