@@ -190,13 +190,15 @@ writes their retractions at the observed frontier. Collection applies the same
190190cutoff, so a still-live log row cannot resurrect an episode retention just
191191retracted.
192192
193- Retention deletes a bounded batch per sweep and converges over as many sweeps as it
194- takes. The bound is not a nicety. The OCC path refuses a selection larger than
195- ` max_result_size ` before submitting any write, so one unbounded delete over a large
196- backlog would fail identically forever and never shrink the table. The bound has to
197- sit inside a derived table, because a top-level ` LIMIT ` lands in the plan's
198- ` RowSetFinishing ` , which the OCC path deliberately discards, and the delete would
199- be silently unbounded again.
193+ Retention deletes successive bounded batches until one is not full. The fixed
194+ cutoff makes the eligible set finite, and collection refuses to insert rows behind
195+ that cutoff, so a successful sweep drains the backlog even when more than one batch
196+ expires at once. The bound is not a nicety. The OCC path refuses a selection larger
197+ than ` max_result_size ` before submitting any write, so one unbounded delete over a
198+ large backlog would fail identically forever and never shrink the table. The bound
199+ has to sit inside a derived table, because a top-level ` LIMIT ` lands in the plan's
200+ ` RowSetFinishing ` , which the OCC path deliberately discards, and the delete would be
201+ silently unbounded again.
200202
201203Retention runs on the catalog server, so it keeps working when there are no user
202204replicas at all, and it runs even when that sweep's collection failed. A
0 commit comments