mattp5657 opened a new pull request, #4074: URL: https://github.com/apache/iggy/pull/4074
## Rationale A partition group can wedge permanently and stop committing after a view change lands while a node is mid-restart, hanging every producer to that partition until its read timeout expires. ## What changed? After a view change, a backup that adopts a `StartView` suffix advances its sequencer to the new head immediately, but repair only fetched bodies up to the commit point when the replica also had a commit lag, which a just-restarted node always does. The adopted op's body was never fetched. Once any later op advanced the sequencer past it, the backup's replication gap check rejected every retransmission of the missing op as a stale duplicate, permanently, and commit could never advance past it. Widens the repair fetch window using `missing_suffix`, already computed for this but not consulted in this branch, so the first repair pass covers the adopted suffix before anything else can move the sequencer past it. Fixes `cluster::fast_primary_rejoin::given_a_quic_producer_when_its_first_roster_hop_is_down_should_reach_the_partition_primary`, failing ~70-90% of local runs and on all 4 CI attempts. ## Local Execution - Passed. Fixed test: 12/12 runs. WebSocket sibling: 5/5. Full `fast_primary_rejoin.rs` (8 tests), full `cluster::` integration suite (61 tests), and `consensus`/`partitions`/`shard` unit suites (462 tests): all pass, no regressions. - Pre-commit hooks: not run through this session; `cargo fmt`, `cargo sort --no-format`, and `cargo clippy` were run manually. ## AI Usage Claude was used in the generation of this. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
