Skip to content

fix(directory): refresh stale lookup ownership - #10500

Merged
ReubenBond merged 1 commit into
dotnet:mainfrom
ReubenBond:reubenbond-fix-invalid-silo-lookups
Aug 11, 2026
Merged

ReubenBond merged 1 commit into
dotnet:mainfrom
ReubenBond:reubenbond-fix-invalid-silo-lookups

Conversation

@ReubenBond

@ReubenBond ReubenBond commented Aug 11, 2026 •

Copy link
Copy Markdown
Member

During a rolling restart, LocalGrainDirectory can calculate an owner from its asynchronously applied directory ring while ISiloStatusOracle has already observed newer membership and knows that owner is terminating. The resulting generic OrleansException escapes placement and becomes an application-visible request failure.

Apply the latest already-available cluster membership snapshot and recompute lookup ownership once before forwarding. If the recalculated owner is still invalid, the existing explicit failure is preserved. Add deterministic coverage for ShuttingDown, Stopping, and Dead owners without broadening the rolling-upgrade test retry policy.

Fixes #10414

Microsoft Reviewers: Open in CodeFlow

Apply the latest available membership snapshot before forwarding a lookup to an owner which is already known to be invalid. Recompute ownership once so rolling restarts do not surface a transient directory convergence failure to callers.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: e6f0afac-dc7e-4f7b-be36-b2412112e981
@ReubenBond
ReubenBond merged commit 434ec4e into dotnet:main Aug 11, 2026
70 of 71 checks passed
@ReubenBond
ReubenBond deleted the reubenbond-fix-invalid-silo-lookups branch August 11, 2026 19:59
This was referenced Aug 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rolling upgrade can surface invalid-silo directory lookups during sustained traffic

1 participant