The Wire · Showcase
ORLEANS HARDENS SILO FAILURE DETECTION
By RepoJournal · Filed · About .NET
Orleans now ignores failed probes triggered by long GC pauses, a fix that could save your cluster from false member faults.
Orleans shipped a resilience fix that suppresses faults when an inter-silo probe times out due to a long GC pause, with the default threshold set to 25% of the window, meaning a pause of at least 1.25 seconds will be ignored [1]. This pairs with new grain placement resilience policies [2] and stricter split handoff invariant tests [3], all from ReubenBond, tightening the core of Orleans' fault tolerance. Meanwhile, a new file-based grain storage provider `Orleans.Persistence.FileStorage` is landing [4], and Event Hubs streaming gets Aspire support, though it's still draft pending Aspire's non-connection-string property support [5]. Over on dotnet/dotnet and dotnet/runtime, the day is mostly routine codeflow and dependency bumps: aspnetcore and runtime updates [6][7], roslyn [8][9], and ICU and xharness [10][11]. Notably, runtime is removing dead net8 code since `NetCoreAppMinimum` is now net10, a clear signal that net8 is being pruned from the main branch [12]. The dependency churn is low-risk, but the Orleans changes are worth a close look before your next cluster deploy.
One email a day. Unsubscribe in one click.
Keep up with .NET in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review Orleans PR #9979: GC pause probe suppression dotnet/orleans [plan]
- → Watch the file-based grain storage provider PR #9537 for adoption dotnet/orleans [monitor]
- → Monitor net8 code removal in dotnet/runtime main dotnet/runtime [monitor]
References
- [1] feat(membership): detect local stalls during direct probes ↗ dotnet/orleans
- [2] fix(resilience): add grain placement resilience policies ↗ dotnet/orleans
- [3] test(directory): validate split handoff invariants ↗ dotnet/orleans
- [4] feat: add file-based grain storage provider ↗ dotnet/orleans
- [5] feat(streaming): add Event Hubs Aspire support ↗ dotnet/orleans
- [6] [main] Source code updates from dotnet/aspnetcore ↗ dotnet/dotnet
- [7] [main] Source code updates from dotnet/runtime ↗ dotnet/dotnet
- [8] [main] Source code updates from dotnet/roslyn ↗ dotnet/dotnet
- [9] [main] Source code updates from dotnet/roslyn (#8569) dotnet/dotnet
- [10] [main] Update dependencies from dotnet/icu ↗ dotnet/runtime
- [11] [main] Update dependencies from dotnet/xharness ↗ dotnet/runtime
- [12] Remove dead net8 code ↗ dotnet/runtime