Table of Contents

Enum StepFailurePolicy

Namespace
Millrace.Workflows
Assembly
Millrace.dll

What a saga step does when its retries are exhausted (§6.4).

public enum StepFailurePolicy

Fields

Retry = 0

The retry policy governs; exhausting it unwinds the saga. The default, and the only behaviour before §11.28.

Compensate = 1

Unwind the saga immediately. Identical to Retry once retries are spent.

Suspend = 2

Park the instance for an operator, undoing nothing.

For a step where unwinding is the wrong reflex — a partial refund, an external system that cannot be un-called — so a human decides before anything else moves. The saga's completed steps stay completed and the unwind can still be started later.

Terminate = 3

Fail the instance immediately, skipping the unwind.

For a step whose failure means the saga's earlier work should stand — undoing it would be worse than leaving it. Terminal: unlike Suspend, nothing resumes from here.

Remarks

These decide what exhaustion means, not whether to retry: by the time any of them is consulted the job has already spent its retry budget. So Retry is not "try again", it is "the retry policy was the whole answer" — which is why it is the default and why the other three are the interesting ones.