Fluxzero 1.130.0
1.130.0 (2026-03-28)
Features
feat(tracking): revive max-index trackers after reset (
89d6df9)Trackers that reached maxIndexExclusive previously disconnected permanently, which meant a resetPosition required restarting the client application before reads would resume.
This change keeps those trackers alive in a suspended state after disconnecting them, polling the stored consumer position every 10 seconds. When the stored lowest index changes and drops below maxIndexExclusive, the tracker resumes reading automatically without an application restart.
The tracking tests were updated to cover suspend and revive behavior, and the max-index consumer configuration test now uses a shorter consumer timeout to keep the suite fast.
Bug Fixes
fix(tracking): stop expired trackers before first read (
ba27e8a)Trackers with a maxIndexExclusive in the past could still perform an initial read after redeploy, even when their committed position had already reached that max index. This caused unnecessary reads and noisy lag/behind metrics for effectively inactive consumers.
This change checks the stored position via GetPosition before the first batch fetch when the configured max index is already in the past. If the consumer has already reached maxIndexExclusive, the tracker disconnects immediately without issuing a read. Regular tracker startup behavior remains unchanged otherwise.