Consistency and Correctness in Data-Oriented Workflow Systems

Authors:
Michael Stonebraker, Xinjing Zhou, Peter Kraft, Qian Li
Abstract

Enterprise applications increasingly organize computation as workflows that must recover from failures and handle diverse error conditions. Although many developers can write and test a saga, few get it right when the server crashes. Durable execution is the missing piece: it guarantees exactly-once execution of workflow steps and ensures that compensations actually run, even in the face of failures. However, durability alone is not sufficient. In this paper, we outline the semantic guarantees required for correct data-oriented workflows and argue that ACID must be extended from individual transactions to entire workflows, making them atomic, consistent, durable, and correct (AC/DC). We present a prototype database-oriented workflow system that implements durable execution and supports both physical backout and saga-style compensation with minimal programmer effort. Experiments on an e-commerce workload show a clear trade-off: transactional workflows win under low contention, while sagas deliver higher throughput and avoid aborts under contention or long-running steps. We conclude that durability is essential for making sagas correct, but that full AC/DC guarantees are needed to substantially reduce workflow complexity.