Repository navigation
Conversation
|
Initial self-review passed with no actionable findings; no fixes were needed. Verified with clean-source reactor tests: 67 tests passed, with 0 failures and 0 errors, including the new deactivation replay regression test. |
|
Independent re-review completed for the full current PR diff and relevant context. No source-behavior or test-logic issues were found. One comment-only finding was fixed in e40e0f0: ConsensusPrefetchingQueue.java:315 still described initialization using a poll progress hint. The comment now describes successful initialization from committed progress (or its fallback), matching the implementation. Validation: The remote head was verified as e40e0f0. This PR remains open and non-draft under the author's explicit comment-only exception. This session performed one review round. |
Problem
When a consensus subscription queue was deactivated during leader changes or queue removal, it discarded prefetched and in-flight events. The next poll used client-reported progress, which advances when an event is observed and can be ahead of its ACK. Those events were then skipped without a WAL-gap signal.
Fix
This preserves at-least-once delivery across queue lifecycle resets while retaining the existing ACK-based commit frontier.
Validation
mvn clean test -T 2 -Dtest=ConsensusPrefetchingQueueDeliveryTest,ConsensusPrefetchingQueueTest -Dsurefire.failIfNoSpecifiedTests=false -pl iotdb-core/datanode -am -P with-integration-tests