- Shipped
- September 5, 2026 at 7:56 PM UTC
- Author
- Kamo
- Commit
- a0a6081
Both reads the sweep depends on already sat inside a catch that logs and carries on, so a Yugabyte conflict never surfaced as an error — it surfaced as a tick that reported "0 mailboxes, 0 messages examined, 0 linked" and looked like a quiet morning. That is the worst shape a failure can take here, because the sweep's own success line is what anyone checks. The retry goes INSIDE the try in both cases, ahead of the swallow: once that catch has run there is no exception left for a retry to recognise. mailboxOwners() is the whole input to the tick, so a conflict there empties the run outright. sweepMember costs one member their tick, and is retried at the call rather than by annotating the method, because sweepAll reaches it by self-invocation — an annotation would have covered the one caller that does not matter and missed the sweep.