Hi Jason and Jun, I have updated the KIP to incorporate your feedback. Some of the changes are:
1. Removed security protocol from the listener definition. The local replica is going to assume that the remote replica has the same listener name to security group mapping. 2. Reverted most of the changes to QuorumStateData. In summary the KIP only adds VotedUuid to this persistent data. 3. Explicitly mentioned in a few places that downgrades from kraft.version 1 to kraft.version 0 is not supported. 4. Added an ErrorMessage field to all of the admin client RPCs used by KRaft: AddVoter, RemoveVoter and DescribeQuorum. 5. Quoted the KIP-996: Pre-vote with respect to fencing voters that were removed from the voter set affecting election. 6. Updated the admin client section to mention that AddVoter, RemoveVoter and DescribeQuorum will be sent directly to the active controller when using a controller bootstrap server. 7. Added why we rejected using controller mechanisms to the rejected alternative section. This came up a few times so it is worth documenting why it was rejected. Thanks, -- -José