Ch8 Sol3a: three crash points, commit-then-ACK

Ch8 Sol3a: three crash points, commit-then-ACK A sequence diagram generated by Archify. deliver m1 (+100) CRASH before COMMIT: nothing durable redeliver m1 INSERT key m1 + ledger +100; COMMIT ACK m1 deliver m2 (+50) INSERT key m2 + ledger +50; COMMIT CRASH before ACK: ack never sent redeliver m2 key m2 known: DEDUP HIT, skip effect ACK m2 deliver m3 (+25) INSERT key m3 + ledger +25; COMMIT ACK m3, then CRASH before cleanup redeliver m3: key still live -> DEDUP HIT same key, DIFFERENT payload: REJECT + alert Crash 1: before commit Crash 2: after commit, before ACK Crash 3: after ACK + poison check Queue · at-least-once redelivery · Sequence participant Queue at-least-once redelivery Consumer · idempotent worker · Sequence participant Consumer idempotent worker Local store · keys + ledger, one txn · Sequence participant Local store keys + ledger, one txn Legend return security async trace message