RetryConfig

Retry policy for transient ScyllaDB failures.

On a WriteTimeoutException, ReadTimeoutException, or NoNodeAvailableException, Kandra retries with linear backoff up to maxAttempts times before throwing io.kandra.core.exception.KandraQueryException.

Add retryable exceptions via retryOn — only exception types in this set trigger retry.

Exception: the @Version LWT update statement (update()/updateSuspend() on a @Version-annotated entity) is never retried by this policy, regardless of configuration — see docs/features/core-annotations.md and docs/issues/ISS-032-versioned-update-spurious-optimistic-lock.md for why blindly retrying a conditional update is unsafe.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
Link copied to clipboard

Adds randomized "equal jitter" to the linear backoff (half the computed delay, plus a random amount up to the other half) — true by default. Without jitter, many concurrent callers hitting the same transient failure (a GC pause, a brief coordinator blip) retry at synchronized intervals, turning a transient blip into a self-inflicted retry burst against the cluster. See ISS-069 / GH #70 item 5.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard