hubcio opened a new pull request, #4246:
URL: https://github.com/apache/iggy/pull/4246

   After a leader restart a rejoining backup asked its repair peer for
   ops 9..=8, a range header validation rejects. The floor installed by
   a RangeEvicted reply is verified on every RepairDone, but the commit
   walk can pass it before the reply lands, evicting the headers of the
   ops it committed. Such a floor never connects and its window never
   looks complete, so the refusal stays InProgress while the walk runs
   commit_min to the fetch ceiling, and the reply handler then requests
   commit_min + 1 ..= fetch_to_op.
   
   Skip the floor check when the raw floor is at or below commit_min:
   it cannot move the commit point and everything below it is applied.
   The clamp to commit_max stays inside the check so a peer retaining
   nothing this replica needs still escapes to state transfer. The
   reply handler also stops pulling a chunk once the walk stands at the
   ceiling, the guard the stall retry already had. Making the refusal
   definitive instead would arm a state transfer on a replica that
   holds every committed op.
   
   Fixes #4230
   


-- 
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