Update sagas.md - #534
Merged
Merged
Conversation
The "start" verbiage confused me as it overlaps the special Start handler. I think this slight clarification helps make things a bit more clear.
jeremydmiller
added a commit
that referenced
this pull request
Jul 26, 2026
…, #3638, #3519) (#3658) Bumps JasperFx/JasperFx.Events 2.34.0 -> 2.36.1, Marten 9.18.0 -> 9.20.0 and Polecat [5.5.0,6.0.0) -> [5.7.0,6.0.0), the release carrying #565/#567 (ShardFailure + ISubscriptionAgent.Failure) and #534/#540. WO-8 (#3637 / #3638): a shard the daemon pauses on an ApplyEventException was visible only as AgentStatus.Paused, so progress flatlined with nothing actionable to alert on. - IEventSubscriptionAgent.Failure (default-null DIM); EventSubscriptionAgent delegates it to the live inner agent the way Status has since GH-3519. - Health checks report the failure category, the failing event's sequence and type, and the root exception type instead of a fixed "paused due to errors". - Failures bound to a specific event (ApplyEvent, EventSerialization, UnknownEventType) or to two processes racing one shard (ProgressionOutOfOrder) are no longer swept back up by the GH-3519 wedge recovery -- they would die on the identical event on every restart. Only Other, the category auto-restart exists for, is still retried. - IWolverineObserver.AgentPaused(uri, failure) default-no-op hook plus a NodeRecordType.AgentPaused record, fired once per transition into failure by a per-node sweep in the health-check loop. Observe-only, per the analysis in #3637 s4: the anti-thrash guards already hold and detaching would risk the re-assignment churn WO-1..7 removed. #3519: the daemon-side causes of the wedged first-assignment start land with this bump. What was left here was WHEN the retry happens -- the node only retried on the next assignment reevaluation, so the loser of a sub-second startup race idled for a full CheckAssignmentPeriod. StartAgentAsync now retries locally, bounded by Durability.AgentStartRetryAttempts (default 2) and AgentStartRetryDelay (default 250ms, multiplied by attempt number), preserving the last cause when it gives up. 19 new tests in CoreTests; full CoreTests (2088) and MartenTests Distribution (57) green, wolverine.slnx builds clean in Release. Claude-Session: https://claude.ai/code/session_014DkTEuNQQdPp63WLY86KzC Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
The "start" verbiage confused me as it overlaps the special Start handler.
I think this slight clarification helps make things a bit more clear.