EffectKeyCollision

data class EffectKeyCollision(val key: String, val firstStep: TypedValue, val collidingStep: TypedValue) : Exception

Two saga steps within the same run produced the same effect-key.

This is a programming error in the user's key-lambda: effect-keys must be unique per run so the engine can unambiguously identify which step an idempotency record belongs to.

Extends Exception so it can serve as the SagaExecutionError.exception payload and be returned via the standard StatefulSagaResult.Aborted abort path — no dedicated result variant is needed (approach b from T012 Technical Notes).

Constructors

Link copied to clipboard
constructor(key: String, firstStep: TypedValue, collidingStep: TypedValue)

Properties

Link copied to clipboard
open val cause: Throwable?
Link copied to clipboard

The later step that produced the same key.

Link copied to clipboard

The first step that claimed the key.

Link copied to clipboard
val key: String

The duplicated effect-key string.

Link copied to clipboard
Link copied to clipboard
open val message: String?
Link copied to clipboard
Link copied to clipboard