Pattern · seen in 1 breakdown across 1 company
Selective Acknowledgment
Definition
When a substrate's only durable notion of progress is a contiguous watermark — a commit offset, a sequence number — but work items complete out of order, track per-item acknowledgments in a ledger above the substrate and advance the durable watermark only through contiguous acknowledged ranges. Items are dispatched and completed in any order; stragglers stop blocking everything behind them; the substrate below never learns that order was violated, because it only ever sees the watermark move forward. TCP's SACK option is the pattern's namesake and oldest instance; a Kafka consumer proxy distinguishing per-message 'acknowledge' from offset 'commit' is the same shape applied to a log.
The pattern's honest residue is the gap between the two ledgers: items acknowledged above but not yet committed below are replayed if the upper ledger is lost (a crash, a rebalance), so the pattern delivers at-least-once and delegates exactly-once to downstream idempotency. And a permanently unacknowledgeable item still jams the watermark beneath it — which is why this pattern travels with a negative-acknowledgment route (a dead letter queue) that lets the watermark pass over declared failures. Boundary against Database-as-a-Queue: that pattern replaces the ordered substrate with one that supports per-item state natively; this one keeps the substrate and layers the per-item state above it — cheaper to adopt, permanently two-ledgered.
When it applies
Tradeoffs
The same move, 1 ways
Every row is a production system that bet on this pattern — the note says how, in that system's own terms.
Problems this pattern answers
The walls where its breakdowns live — each opens the cross-company comparison.