Troubleshooting concurrency failures New in 1.14.0
Diagnose the Critter Stack's concurrency exceptions from a stack trace: JasperFx.ConcurrencyException ('Optimistic concurrency check failed', 'Expected the existing version to be N, but was M'), EventStreamUnexpectedMaxEventIdException, DcbConcurrencyException, SagaConcurrencyException, StreamLockedException, Marten's ConcurrentUpdateException, and the ExistingStreamIdCollisionException look-alike. Covers which store throws which type, the inheritance that decides what OnException<T> matches, the numeric-revision re-store trap, redacted Postgres detail, retry versus error-queue policies and when a retry cannot succeed, AggregateException, and the Wolverine.HTTP 409 mapping.
Use when a handler, endpoint or test fails with one of these, or when choosing a policy for concurrency failures.
Skill details
- Skill name:
critterstack-troubleshooting-concurrency - Applies to:
marten,polecat,fisher,wolverine - Tags:
troubleshooting,concurrency,optimistic-concurrency,event-sourcing,error-handling,ConcurrencyException,EventStreamUnexpectedMaxEventIdException,DcbConcurrencyException,SagaConcurrencyException,StreamLockedException,ConcurrentUpdateException,marten,polecat,fisher,wolverine - Added in: 1.14.0
- License: Proprietary. Copyright JasperFx Software LLC.
