TaiJuWu commented on PR #20859:
URL: https://github.com/apache/kafka/pull/20859#issuecomment-3585878159

   > Thanks for the changes @TaiJuWu. Leaving a review of the current approach 
in `src/main`, but please consider the below as an alternative approach (I 
think the below is simpler, but I would like @jsancio and @showuon 's input on 
it). In the interest of not duplicating effort, I think we should all agree on 
a design first.
   
   We agree that we need to reach a design consensus first.
   
   > 
   > Sorry for the back and forth, but I think another, potentially easier way 
to go about this is actually to make the `ADD_RAFT_VOTER` sent by auto-join 
idempotent for the lifetime of the controller process. Basically, the leader 
will look through its voter set history and return a successful response if the 
requested node + incarnation ID was ever part of its voter set history.
   > 
   
   > This approach requires a KIP, because we need to send the incarnation ID 
as part of the request, and the VotersRecord schema needs to be updated 
(meaning we need a kraft.version=2 as well I think), but it is much easier to 
prove this approach's correctness.
   
   If we want to do this change, I think using epoch is more reasonable.
   
   When the voter set change , we bump epoch but not to elect new leader, is it 
a possible solution?
   


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