Skip to content

feat(stovepipe): coalesce backlog in process controller#324

Open
mnoah1 wants to merge 2 commits into
mainfrom
mnoah1/stovepipe-process-coalesce
Open

feat(stovepipe): coalesce backlog in process controller#324
mnoah1 wants to merge 2 commits into
mainfrom
mnoah1/stovepipe-process-coalesce

Conversation

@mnoah1

@mnoah1 mnoah1 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

What

This PR begins implementing core logic of the Process controller to supersede older requests as new ones come in.

https://github.com/uber/submitqueue/blob/main/doc/rfc/stovepipe/steps/process.md#process-algorithm

  • accepted requests get compared against the queue's latest request ID value
    • If a request is outdated compared to the queue's last ID, mark it superceded (this PR)
    • Otherwise, we'll build it now or re-check it later when a build slot is free (logic to come)
  • superseded / processing → ack no-op
  • Retryable load for request/queue not-found

Why

Implementing https://github.com/uber/submitqueue/blob/main/doc/rfc/stovepipe/steps/process.md step. Building out logic to accept incoming requests and narrow down builds to only the latest head.

Test plan

  • //stovepipe/controller/process:go_default_test
  • //stovepipe/controller:go_default_test
  • //test/integration/stovepipe:go_default_test

@mnoah1 mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners July 9, 2026 15:22
@mnoah1 mnoah1 marked this pull request as draft July 9, 2026 15:23
@mnoah1 mnoah1 changed the title feat(stovepipe): coalesce backlog in process controller [draft / wip] feat(stovepipe): coalesce backlog in process controller Jul 9, 2026
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-process-coalesce branch from 65c5fd6 to 0bb81c6 Compare July 9, 2026 15:28
@mnoah1 mnoah1 changed the title [draft / wip] feat(stovepipe): coalesce backlog in process controller feat(stovepipe): coalesce backlog in process controller (PR A) Jul 9, 2026
@mnoah1 mnoah1 changed the title feat(stovepipe): coalesce backlog in process controller (PR A) [draft / wip] feat(stovepipe): coalesce backlog in process controller (PR A) Jul 9, 2026
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-ingest-queue-wiring branch from 6a281c4 to b27d20c Compare July 10, 2026 14:27
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-process-coalesce branch from 0bb81c6 to 686ed39 Compare July 10, 2026 14:46
@mnoah1 mnoah1 changed the title [draft / wip] feat(stovepipe): coalesce backlog in process controller (PR A) feat(stovepipe): coalesce backlog in process controller Jul 10, 2026
@mnoah1 mnoah1 marked this pull request as ready for review July 10, 2026 15:12
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-ingest-queue-wiring branch from fee8ec1 to 5f7ab76 Compare July 10, 2026 18:13
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-process-coalesce branch from 1a66cd1 to ee5ac0c Compare July 10, 2026 18:21
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-ingest-queue-wiring branch from 5f7ab76 to 1cb5649 Compare July 10, 2026 18:50
@mnoah1 mnoah1 force-pushed the mnoah1/stovepipe-process-coalesce branch from ee5ac0c to c1ee23a Compare July 10, 2026 18:51
mnoah1 added 2 commits July 10, 2026 20:07
Compare accepted requests against queue.latest_request_id and mark
older heads superseded. Latest heads remain accepted until admit lands
in a follow-up PR.
Update process.md to describe coalescing via CompareRequestID and
queue.latest_request_id instead of the dropped Sequence field and
latest_request_seq pointer. Also align BuildStrategy naming with code.
@behinddwalls behinddwalls force-pushed the mnoah1/stovepipe-process-coalesce branch from c1ee23a to 7003035 Compare July 10, 2026 20:07
@behinddwalls behinddwalls changed the base branch from mnoah1/stovepipe-ingest-queue-wiring to main July 10, 2026 20:07
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.

1 participant