feat(stovepipe): admit latest head to build#335
Conversation
a384a94 to
86eaa35
Compare
c814927 to
acdd570
Compare
86eaa35 to
9008831
Compare
acdd570 to
98cef3f
Compare
9008831 to
44606ba
Compare
99434b7 to
2dc04df
Compare
behinddwalls
left a comment
There was a problem hiding this comment.
The happy path is correct and the version-arithmetic convention (assign after CAS success) is followed throughout — and nice job picking up the #324 feedback (empty-pointer log message, the TODOs). But the failure paths of the admit workflow have one real defect (the slot leak, first inline comment) and two shape issues that I think should be addressed before this merges.
The three main findings share one fix shape: claim slot → re-check staleness against the reloaded pointer → markProcessing returns whether it actually transitioned → on a lost race or error, compensating-decrement the slot.
98cef3f to
0c435d1
Compare
|
This PR could not be automatically rebased after its base PR was merged. The rebase hit conflicts that need manual resolution. To fix manually: git fetch origin
git checkout mnoah1/stovepipe-process-admit
git rebase --onto origin/main 0c435d12ab8eeba953ea65e940c9deccd522d5cb mnoah1/stovepipe-process-admit
# resolve conflicts, then:
git push --force-with-leaseThen update this PR's base branch: gh pr edit 335 --base main |
2dc04df to
75abca6
Compare
Pull request was converted to draft
What?
This PR adds in handling to admit a request to a build:
This leaves 3 main codepaths to fill out the rest of the initial implementation for the process step (marked with TODO):
Why?
Continuing to implement the
processstep outlined in process.md.Test Plan
make local-stovepipe-startgrpcurl -plaintext -d '{"queue":"monorepo/main"}' localhost:32773 uber.submitqueue.stovepipe.Stovepipe/Ingestadmitted request to build line below: