Class RelationalResilienceOptions
- Namespace
- eQuantic.Core.Data.Relational
- Assembly
- eQuantic.Core.Data.Relational.dll
The transient-fault retry policy for the relational engine — opt-in via
services.AddRelationalResilience(...). Retries follow honest semantics:
- Reads retry automatically: they are idempotent, and the broken pooled connection is reset before the next attempt.
- Commits retry only behind RetryCommits: a commit that failed after the server applied it would re-run the whole batch. Concurrency tokens and client-generated keys make a double-apply fail loudly instead of silently — weigh that before opting in.
- Inside an explicit transaction nothing retries — the transaction is broken; the caller must roll back and restart it.
Transience comes from the driver itself (IsTransient); attempts back off
exponentially with jitter and are tagged on the current span (equantic.retries). The document and
wide-column providers need none of this: their drivers ship native retry policies.
public sealed class RelationalResilienceOptions
- Inheritance
-
RelationalResilienceOptions
- Inherited Members
Properties
BaseDelay
The base backoff delay; attempt n waits roughly BaseDelay × 2ⁿ plus jitter (200 ms by default).
public TimeSpan BaseDelay { get; set; }
Property Value
MaxRetries
The maximum number of retries after the first attempt (3 by default).
public int MaxRetries { get; set; }
Property Value
RetryCommits
Whether commits retry too. Off by default: a commit whose acknowledgement was lost may have been applied, and a retry re-runs the whole batch — enable it when concurrency tokens or client-generated keys make a double-apply detectable.
public bool RetryCommits { get; set; }