Crash, lost ack, rebalance: redelivery meets the checkpoint guard

Crash, lost ack, rebalance: redelivery meets the checkpoint guard A sequence diagram generated by Archify. deliver o101-o104 apply: totals += 4 CRASH before commit uncommitted effect discarded redeliver o101-o104 in order same partition replays the same order txn: totals + ckpt o104 effect and checkpoint commit together committed committed (ack lost on the wire) redeliver o103-o104 skip: offsets <= ckpt o104 idempotent guard, no double count revoke P1, assign to B at epoch 2 read ckpt: resume at o105 late write at epoch 1 caller epoch != owner epoch REJECT: fenced txn: totals + ckpt o105 Crash before commit Lost ack Rebalance + fence Producers · keyed clicks · Sequence participant Producers keyed clicks Broker · topic clicks, P1 · Sequence participant Broker topic clicks, P1 Consumer A · owner, epoch 1 · Sequence participant Consumer A owner, epoch 1 Consumer B · new owner, epoch 2 · Sequence participant Consumer B new owner, epoch 2 Record DB · totals + checkpoints · Sequence participant Record DB totals + checkpoints Legend main request return security async trace message