When an interrupted event-service scan publishes a transaction cursor (C, S, nil), the adaptive scan window can later shrink below C. eventBroker then produces an empty range with CommitTsEnd < CommitTsStart, skips the scan, and retains the non-zero cursor. Signal resolved-ts is also suppressed, so the dispatcher can remain stuck.
Expected behavior: normalize the effective range to [C, C] and let EventStore resume after transaction start-ts S for other transactions sharing commit-ts C. This was reproduced while testing the staged redo ACK changes in #5956.
When an interrupted event-service scan publishes a transaction cursor
(C, S, nil), the adaptive scan window can later shrink belowC. eventBroker then produces an empty range withCommitTsEnd < CommitTsStart, skips the scan, and retains the non-zero cursor. Signal resolved-ts is also suppressed, so the dispatcher can remain stuck.Expected behavior: normalize the effective range to
[C, C]and let EventStore resume after transaction start-tsSfor other transactions sharing commit-tsC. This was reproduced while testing the staged redo ACK changes in #5956.