jsancio commented on PR #22620: URL: https://github.com/apache/kafka/pull/22620#issuecomment-4791103328
> * What is the goal of `UPDATE_VOTER` in static quorum? To me, ideally, before upgrading to kraft.version=1, we want the leader's stored endpoints of all nodes to be no worse than the "routability" state of the cluster with each node's `controller.quorum.voters` in kraft.version=0. I think it is impractical to validate that from each node, so we choose the leader as the one to "gather endpoints," and with this API_VERSIONS change, we at least know, these endpoints are routable from me (the static leader). For the leader to write a kraft version 1 and voter set to the log it needs to know all of the information encoded in the voter set. This includes: 1. voter's id 2. voter's directory id 3. voter's supported kraft versions 4. all of the voter's listeners This information is not available in the controller.quorum.voters properties. The leader needs to discover it from the voters by using the UPDATE_VOTER RPC. -- 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]
