Workflows Can Violate Atomicity and Isolation
Since a workflow runs as many transactions,
- it may not be serializable relative to other workflows
- it may not be all-or-nothing
Consider a money transfer run as 2 txns, T1 & T2
- Conflicting money transfers could run between T1 & T2
- A failure after T1 might prevent T2 from running
- These problems require application-specific logic
- E.g. T2 must send ack to T1’s node. If T1’s node times out waiting for the ack, it takes action, possibly compensating for T1