Repository navigation
test(eventsourcing): capture storage stall boundaries - #11420
Conversation
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The namespace filters correctly cover the intended diagnostic boundaries without functional changes.
Review effort: Balanced
Findings: None
What changed in this PR
Adds fixture-scoped logging to diagnose intermittent event-sourcing storage stalls without changing runtime behavior.
Changes:
- Enables Debug logging for log-consistency phases.
- Enables Trace logging across memory-storage dispatch and grain receipt.
| File | Description |
|---|---|
test/Orleans.EventSourcing.Tests/EventSourcingTests/EventSourcingClusterFixture.cs |
Broadens fixture logging to capture stall boundaries. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
3c27db5 to
f727a55
Compare
There was a problem hiding this comment.
🟢 Approval recommended
The namespace filters correctly capture the intended existing diagnostic events without changing runtime behavior.
0 open findings
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
|
Rebased onto main Downloaded exact-head TRX artifacts confirm The investigation correction and regression chronology are recorded in #11398. Initial synchronization completes during inherited activation; the historical stall is a prolonged synchronous deposit/write-processing turn whose exact execution stage remains unresolved. Diagnostic visibility is verified, while root-cause repair still requires richer failure evidence or a dump. Self-review and the requested rubber-duck review found no substantive issues. The remaining failed PR check is the unrelated Documentation sample restore blocked by ImageSharp audit errors, already tracked in #11437. The earlier CodeGen (#11427) and rolling-upgrade (#10904) failures both passed in this run. |
Code coverage
Report-only conclusion: improved. The current-main baseline is commit Coverage combines every CI test matrix job, including providers, CodeGen, .NET 8/10, Linux, Windows, and macOS, using canonical physical source and branch identities. The comparison remains report-only while normal line and branch variance is calibrated. Coverage details |
Problem
AccountWithoutLogtimed out while confirming its first deposit, and the retained scheduler diagnostics show a prolonged synchronousBatchWorkerturn. The account grain awaits storage synchronization during activation, so its successful precedingBalancecall establishes completion of the initial read. The unresolved boundary is inside deposit/write processing.Solution
Enable fixture-scoped logging for the boundaries needed to classify the next occurrence:
Namespace category filters capture the existing events across internal type renames. These diagnostics preserve the account's persistence and confirmation guarantees.
Rationale
The original artifact establishes the stalled worker but leaves its precise execution stage unresolved. The added boundaries distinguish work before provider entry, work before storage-grain receipt, and processing after receipt. Root-cause attribution remains under investigation in #11398.
Relates to #11398