Skip to content
About
Main content

Summary and key takeaways

The one sentence. is the discipline of making unreliable, unobservable, irreversible side effects behave like a of a time interval.

What is different from lower layers. The moves no data and costs three to six orders of magnitude less than the work it commands. So coordination is free and its correctness is everything. Three constraints replace performance: the coordinator cannot observe effects, cannot undo them, and must keep state across durations longer than any process. Time becomes an argument: the is an address.

The six impossibilities, one line each:

  1. You cannot verify success: 0 is a claim. Build independent evidence (assertions, ).
  2. You cannot undo effects: recovery is forward-only, by re-execution.
  3. You cannot tell dead from slow: fence relaunches; plus idempotency is the real guarantee.
  4. You cannot detect completeness from arrivals: use a sentinel, a count or a timeout.
  5. You cannot detect your own absence: use an external .
  6. You cannot verify a declared dependency: undeclared edges cause the incidents.

Key equations and rules:

RuleMeaningSeen in
L = λW ()work in the system = arrival rate × time insidesensors holding slots; pool limits
Run identity = (version, interval, params)anything not pinned to the run makes a lieparameterized runs,
Detection latency ≈ ½ poll interval; poll cost = (wait ÷ interval) × per-poll cost tradesensors
Useful share = work ÷ (work + launch cost) is a batch-size decisiondynamic task generation
Backfill time = intervals × per-run time (if ordered)the price of ordering, cumulative state

Patterns that repeat:

  • Waiting must not hold the resource being waited for: sensors, sub-DAGs and approvals all follow from this.
  • Idempotency needs identity and determinism, and costs write amplification.
  • Atomicity is borrowed from the storage layer (pointer swap, ), never owned by the .
  • moves global state to tracing; orchestrate inside a team, use contracts across teams.
  • Skipped is a third value, and default join rules turn it into a green run with no output.
  • Dependency graphs are cheap, dependency contracts are not.
  • Priority set upstream is advisory: the last queue's policy wins.
  • The is a transactional system sized by task count.