Skip to content

Bound retries after directory activation failures#10094

Merged
ReubenBond merged 1 commit into
dotnet:mainfrom
ReubenBond:rebond/cache-invalidation-forward-budget
May 12, 2026
Merged

Bound retries after directory activation failures#10094
ReubenBond merged 1 commit into
dotnet:mainfrom
ReubenBond:rebond/cache-invalidation-forward-budget

Conversation

@ReubenBond

@ReubenBond ReubenBond commented May 12, 2026

Copy link
Copy Markdown
Member

Problem

When activation registration fails in the grain directory, queued-message rerouting could repeatedly forward the same message. The old transient deactivation retry path refunded ForwardCount, so persistent directory activation failures could bypass the normal MaxForwardCount guard.

Solution

Remove the transient deactivation retry helper and the ForwardCount refund branch at the reroute call site. Directory-failure reroutes now keep the message's existing forwarding count, so the default MaxForwardCount of 2 is enough to reject repeated activation loops.

This keeps the existing forwarding budget as the only retry guard instead of adding a separate directory-failure retry budget.

Notes

No merge dependency. This is independent of #10095, which only avoids unnecessary same-silo cache invalidation headers.

@ReubenBond ReubenBond force-pushed the rebond/cache-invalidation-forward-budget branch from 927de81 to e6e3448 Compare May 12, 2026 19:34
@ReubenBond ReubenBond changed the title Bound same-silo directory retry forwarding Make directory failures non-transient May 12, 2026
@ReubenBond ReubenBond changed the title Make directory failures non-transient Bound retries after directory activation failures May 12, 2026
Remove the transient deactivation retry path used for directory activation failures. Forwarded messages now keep their existing ForwardCount value, so the normal MaxForwardCount budget bounds repeated directory-failure activation loops.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ReubenBond ReubenBond force-pushed the rebond/cache-invalidation-forward-budget branch from e6e3448 to f47c7bf Compare May 12, 2026 20:02
@ReubenBond ReubenBond enabled auto-merge May 12, 2026 20:08
@ReubenBond ReubenBond added this pull request to the merge queue May 12, 2026
Merged via the queue into dotnet:main with commit 0d06af2 May 12, 2026
118 of 119 checks passed
@ReubenBond ReubenBond deleted the rebond/cache-invalidation-forward-budget branch May 12, 2026 21:37
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 12, 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.

1 participant