Skip to content

feat(stovepipe): dlq controller for build step - #618

Merged
behinddwalls merged 3 commits into
mainfrom
mnoah1/stovepipe-build-dlq
Aug 20, 2026
Merged

feat(stovepipe): dlq controller for build step#618
behinddwalls merged 3 commits into
mainfrom
mnoah1/stovepipe-build-dlq

Conversation

@mnoah1

@mnoah1 mnoah1 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Intent

  • Prevent build-stage failures from leaving requests processing and consuming queue capacity indefinitely.

Changes

  • Add a build-stage DLQ controller that resolves the request from the dead-lettered build payload and drives it to a conservative failed outcome.
  • Follow the established SubmitQueue DLQ controller naming and construction conventions.
  • Register the build DLQ topic, subscription, and controller with the always-retryable reconciliation consumer.
  • Cover successful reconciliation, malformed payloads, and empty request identifiers.

Test Plan

  • aifx verify
  • ./tool/bazel test //stovepipe/controller/dlq:go_default_test --test_output=errors
  • ./tool/bazel build //service/stovepipe/server:stovepipe
  • make lint
  • make check-gazelle

Revert Plan

  • Revert this PR to remove build-stage DLQ reconciliation and its topic registration.

Issues

Summary:
Intent:
- Prevent build-stage failures from leaving requests processing and consuming queue capacity indefinitely.

Changes:
- Add a build-stage DLQ controller that resolves the request from the dead-lettered build payload and drives it to a conservative failed outcome.
- Register the build DLQ topic, subscription, and controller with the always-retryable reconciliation consumer.
- Cover successful reconciliation, malformed payloads, and empty request identifiers.

---

<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>
@mnoah1 mnoah1 changed the title fix(stovepipe): reconcile build dead letters feat(stovepipe): dlq controller for build step Aug 19, 2026
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-build-dlq branch from 8fb3faf to 52c1191 Compare August 19, 2026 18:18
@mnoah1
mnoah1 marked this pull request as ready for review August 19, 2026 18:27
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners August 19, 2026 18:27
@mnoah1
mnoah1 force-pushed the mnoah1/stovepipe-build-dlq branch from 31b38d4 to 52c1191 Compare August 19, 2026 18:31
@behinddwalls
behinddwalls added this pull request to the merge queue Aug 20, 2026
Merged via the queue into main with commit 0892fcf Aug 20, 2026
27 checks passed
behinddwalls pushed a commit that referenced this pull request Aug 20, 2026
Summary:
Intent:
- Align the existing Stovepipe DLQ controllers with the repository-wide convention used by the parent PR.
- Keep the public construction API consistent as additional DLQ stages are added.

Changes:
- Rename the process and buildsignal constructors to the NewDLQ<Stage>Controller pattern.
- Hide controller implementations behind consumer.Controller and derive controller names from their topic keys.
- Update service wiring and test fixtures for the new constructors.

This PR is stacked on #618, which adds build-stage DLQ reconciliation using the same convention.

Test Plan:
- Run the Stovepipe DLQ controller test target.
- Build the Stovepipe server target.

Revert Plan:
- Revert this PR to restore the prior Stovepipe DLQ constructor and implementation type names.

---

<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 deployed to stack-rebase August 20, 2026 03:45 — with GitHub Actions Active
@behinddwalls
behinddwalls deleted the mnoah1/stovepipe-build-dlq branch 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