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]

Reply via email to