Repository navigation
Conversation
Summary: Issue tracking now publishes a build-scoped repair request after completing an opening pass with newly opened or reopened issues. Persist the opening flag across batches and retries, and publish before advancing the pass so a failed handoff can be retried. The existing fix controller retains its one-repair-per-build policy. Adds the fix publication route to the reference host; consumer activation and executor configuration remain separate. Existing MySQL deployments must append the has_new_issues column before deploying updated readers. Test Plan: - Run ./tool/bazel test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //stovepipe/entity:go_default_test //stovepipe/extension/storage/mysql:go_default_test //service/stovepipe/server:go_default_test. - With Docker available, run ./tool/bazel test //test/integration/stovepipe/extension/storage/mysql:go_default_test --test_filter='TestMySQLStorage/IssueTracking' --test_output=errors to verify persistence of the opening flag against MySQL. Revert Plan: Revert this PR; the added MySQL column can remain.
Use the existing opening cursor to skip empty passes and let the fix controller select eligible issues. Key repair messages by build and persisted pass notification so retries deduplicate without suppressing later passes. Remove the opening flag and its schema change.
Summary: Builds on #963. Register the issue-tracking and fix consumers in the reference host with extended retry subscriptions. Use a no-op repair executor that returns noop/<buildID> without launching work. The fix controller records the usual one-per-build association. Dead-letter recovery consumer registration remains separate; #961 provides issue-tracking recovery. Test Plan: Run ./tool/bazel test //service/stovepipe/server:go_default_test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //test/integration/stovepipe:go_default_test --test_output=errors. The Docker/MySQL integration suite starts the reference server with the new subscriptions, and the wiring test exercises no-op acceptance through the registered fix controller. Revert Plan: Revert this PR to stop the two consumers and remove the no-op executor. No schema changes are required.
mnoah1
marked this pull request as ready for review
October 27, 2026 22:49
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 27, 2026 22:49
mnoah1
marked this pull request as draft
October 27, 2026 22:49
mnoah1
marked this pull request as ready for review
October 27, 2026 22:52
This branch has not been deployed
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.
Summary
Builds on #963. Register the issue-tracking and fix consumers in the reference host with extended retry subscriptions.
Use a no-op repair executor that returns
noop/<buildID>without launching work. The fix controller records the usual one-per-build association. Dead-letter recovery consumer registration remains separate; #961 provides issue-tracking recovery.Test Plan
Run ./tool/bazel test //service/stovepipe/server:go_default_test //stovepipe/controller/issuetrack:go_default_test //stovepipe/controller/fix:go_default_test //stovepipe/core/fixrequest:go_default_test //test/integration/stovepipe:go_default_test --test_output=errors. The Docker/MySQL integration suite starts the reference server with the new subscriptions, and the wiring test exercises no-op acceptance through the registered fix controller.
Revert Plan
Revert this PR to stop the two consumers and remove the no-op executor. No schema changes are required.