Table of Contents

Class PersistenceConcurrencyConflictException

Namespace
MailFathom.Application.Persistence
Assembly
MailFathom.Application.dll

Indicates that a local write did not commit because another writer changed the same durable state.

public sealed class PersistenceConcurrencyConflictException : MailFathomException, ISerializable
Inheritance
PersistenceConcurrencyConflictException
Implements
Inherited Members

Remarks

A conflict is an ordinary loop outcome only inside OptimisticConcurrencyRetryPolicy, where PersistenceCommitResult keeps it visible in the commit signature. Once no further attempt is allowed, the fact has to travel through use-case code that cannot make a concurrency decision, so it is raised instead of restated as a result value at every intermediate boundary.

The exception carries no provider details, SQL, tracked values, entity state, or personal data. Callers that can decide what a conflict means catch it at a named boundary; everything in between propagates it unchanged.

Constructors

PersistenceConcurrencyConflictException(string)

Initializes a new persistence concurrency conflict with a message that names the conflicting write.

Properties

ErrorCode

Gets the stable code identifying this failure to a boundary that must report it without naming a type.