Skip to content

fix(orchestrator): repair Created record when dependency-analysis re-announces - #875

Open
behinddwalls wants to merge 1 commit into
mainfrom
preetam/fix/dependency-analysis-ensure-record
Open

behinddwalls wants to merge 1 commit into
mainfrom
preetam/fix/dependency-analysis-ensure-record

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Why?

corebatch.Transition CASes the batch before filing its per-state membership record, and the transition protocol relies on the already-in-target-state retry calling EnsureRecord to repair a crash between the two. The dependency-analysis re-announce branch (batch already Created) skipped it, so a crash there left a Created batch invisible to ListByStates — the next batch's analysis would not serialize behind it until speculate happened to admit it.

What?

  • Call corebatch.EnsureRecord in the Created re-announce branch before re-publishing to speculate.
  • Update the pipeline diagram in the Stages doc to include the dependency-analysis stage.

Test Plan

✅ bazel test //submitqueue/orchestrator/controller/dependencyanalysis/... (re-announce test now requires the Created record put)
✅ make lint

Stack

  1. @ fix(orchestrator): repair Created record when dependency-analysis re-announces #875
  2. fix(orchestrator): stop dependency-analysis DLQ failing requests a live batch owns #876

🤖 Generated with Claude Code

…announces

## Summary

### Why?

`corebatch.Transition` CASes the batch before filing its per-state membership record, and the transition protocol relies on the already-in-target-state retry calling `EnsureRecord` to repair a crash between the two. The dependency-analysis re-announce branch (batch already `Created`) skipped it, so a crash there left a `Created` batch invisible to `ListByStates` — the next batch's analysis would not serialize behind it until speculate happened to admit it.

### What?

- Call `corebatch.EnsureRecord` in the `Created` re-announce branch before re-publishing to speculate.
- Update the pipeline diagram in the `Stages` doc to include the `dependency-analysis` stage.

## Test Plan

✅ `bazel test //submitqueue/orchestrator/controller/dependencyanalysis/...` (re-announce test now requires the `Created` record put)
✅ `make lint`
@behinddwalls
behinddwalls marked this pull request as ready for review October 16, 2026 12:56
@behinddwalls
behinddwalls requested review from a team and sbalabanov as code owners October 16, 2026 12:56
@behinddwalls
behinddwalls added this pull request to stack #877 October 16, 2026 12:56

This branch has not been deployed

No deployments
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