Skip to content

v0.2.0-beta.4 — ack-503 spiral breaker

Pre-release
Pre-release

Choose a tag to compare

@DebanganThakuria DebanganThakuria released this 11 Jul 09:05
94f2c5b

One fix, found by soak analysis rather than a bug report: a consumer that doesn't retry failed acks could, under backlog, trap a partition in a redelivery spiral — acked-ahead set full → every ack 503s → deliveries expire → redeliver → repeat (observed live: 623k duplicate deliveries over 7 hours; zero loss, but nobody's idea of steady state).

ReserveNext now refuses to hand out fresh offsets while a partition's acked-ahead set is at capacity: the only reservable offset is the frontier hole itself, whose ack collapses the run and restores normal service. The Consuming docs now also state the client contract plainly: retry your 503 acks.

Drop-in upgrade from beta.3; no API or on-disk changes.