Table of Contents

Enum CompensationRecovery

Namespace
Millrace.Workflows
Assembly
Millrace.dll

What an operator does about a compensation that failed (ยง11.30).

public enum CompensationRecovery

Fields

Retry = 0

Run the failed compensation again, from the same point.

The answer when the cause was transient โ€” the downstream system is back.

Skip = 1

Treat this step as undone and carry on unwinding the rest.

The answer when the step was undone by hand, or turns out to need no undoing. It records a decision rather than a fact, which is why it is an operator action and never automatic.

Abandon = 2

Stop unwinding and fail the instance, leaving the remaining steps done.

The answer when continuing would do more harm than the half-undone state already has. Terminal, and deliberately so: it is a decision that the remaining work should stand.

Remarks

A half-undone saga is deliberately parked rather than forced to a terminal state, because it is exactly where a human should look. These are the three ways out, and the engine cannot choose between them: which is right depends on what the compensation was trying to undo and whether it is now safe to try again โ€” facts the engine does not have.