fix(server): retry provider attachment CAS conflicts - #3501
Conversation
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
|
Label |
PR Review StatusThis localized sandbox reliability fix is project-valid, and the independent full-diff review found no blocking issues. The required E2E workflow has not started with the new label, so pipeline monitoring cannot begin yet. Action required: A maintainer must open the existing E2E run for this head and choose Re-run all jobs so the Blocking findings:
Carried findings:
Non-blocking suggestions:
Gator metadata
|
|
PR #3485 supersedes the stopped-sandbox runtime-identity portion of this change and should land first. After #3485 merges, the expected next steps here are:
The reason is that this PR fences writers racing from the same persisted identity, but it still leaves identity rotation separate from the lifecycle lock and Starting transition. A later start can rotate the identity again in that window. #3485 closes that window by committing the winning identity and Starting phase atomically, then reusing that identity for idempotent driver retries. |
Blocker Follow-Up NudgeThis PR is still blocked after more than 48 business hours. @elezar's maintainer direction is now actionable because #3485 has merged; I checked #3501 and it currently conflicts with Next action: @drew, rebase onto |
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
|
Updated this PR against current The remaining diff keeps bounded CAS retries for server-owned provider attach/detach mutations, preserves fail-fast behavior for explicit client resource versions, and retains the concurrency test. I also updated the gateway architecture doc to describe this retry exception. Verification on the updated head: |
elezar
left a comment
There was a problem hiding this comment.
Reviewed the CAS retry behavior, explicit-version contract, concurrency coverage, and architecture update. No actionable issues found.
Summary
Retry transient sandbox resource-version conflicts during server-owned provider attach and detach. Explicit client resource versions continue to fail on conflict so clients can detect concurrent edits.
Related Issue
No issue required: localized reliability fix for observed provider attachment flakes. The stopped-sandbox runtime identity changes originally in this PR are superseded by #3485 and have been removed.
Changes
mainwithout rewriting the PR branch history.Testing
mise run pre-commitpassesmise run testpassesOPENSHELL_E2E_DOCKER_TEST=provider_readiness mise run e2e:dockerpasses, including Docker conformancemise run cipasses locally: unrelated Go SDK gateway-list tests find this host's/etc/openshell/gateways/defaultand fail their empty-directory assertions. The PR's hosted CI will run on the updated head.Checklist