Skip to content

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

Open
mnoah1 wants to merge 5 commits into
mnoah1/stovepipe-dlq-controller-conventionsfrom
mnoah1/stovepipe-record-dlq
Open

feat(stovepipe): recover record DLQ work#623
mnoah1 wants to merge 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
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