Skip to content

Commit 6cfdca6

Browse files
authored
feat(stovepipe): coalesce backlog in process controller (#324)
## 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 - [x] `//stovepipe/controller/process:go_default_test` - [x] `//stovepipe/controller:go_default_test` - [x] `//test/integration/stovepipe:go_default_test`
1 parent b3b129f commit 6cfdca6

4 files changed

Lines changed: 345 additions & 95 deletions

File tree

0 commit comments

Comments
 (0)