Repository navigation
Conversation
…s recovery deadline Signed-off-by: divesh <dgude@nvidia.com>
Collaborator
Author
|
/ok to test b3d4aca |
FrostGod
enabled auto-merge
October 30, 2026 21:05
FrostGod
disabled auto-merge
October 30, 2026 23:45
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
If no live supervisor takes over a shared-pool sandbox, the runtime ends it at the 60-second recovery deadline. The gateway kept showing the old status until a supervisor came back. Now the sandbox is reported
Stoppedonce that deadline has passed, andsandbox startruns it again.Related Issue
No issue. Observed while testing #4864: we froze every supervisor replica for longer than the recovery deadline. The workload was gone, but the sandbox status didn't change until a replica returned.
Changes
MEMBER_TTL(15 s), the pool view marks the route expired. The controller then reports the instanceAbsent, and the existing Kubernetes path stops the sandbox.Status after this change
Ready, no change. Another gateway replica answers.Readywhen it's back, and the workload keeps running.Ready, no change. Another replica takes over within about 24 seconds.Readywhen the restarted replica re-adopts the sandbox, and the workload keeps running. Outages over about 30 seconds showProvisioninguntil then.Stoppedabout 2.5 minutes after the supervisor died (measured 141 s), without waiting for a replica.sandbox startthen runs it fresh.Testing
cargo clippy -p openshell-supervisor-control -p openshell-server --all-targets -- -D warningscargo nextest run -p openshell-supervisor-control -p openshell-server -p openshell-driver-kubernetes: 2970 passedAbsentafter the deadline, a leaving owner never does, and a takeover clears itReadyand the same workload is adopted.Stoppedwhile they are still frozen, andsandbox startbrings it backReadywith a new workload.Checklist