Hi Jason, Colin and Luke, I updated the KIP based on your feedback and my comments. Here is what has changed: https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=217391519&selectedPageVersions=54&selectedPageVersions=52
Here is an outline of all of the protocol changes: 1. Removed the AddVoterRecord and RemoveVoterRecord control records and replaced their functionality with VotersRecord instead. 2. VoterUuid in LeaderChangeMessage is now a uuid instead of a int32. 3. Added TimeoutMs field to the AddVoterRequest. 4. Added ClusterId field to the RemoveVoterRequest. 5. Made the ReplicaUuid field in FetchRequest a tagged field. All of the protocol changes are also documented in this GitHub diff: https://github.com/apache/kafka/compare/trunk...jsancio:kafka:kraft-membership-protocol I haven't updated the KIP for adding support for controllers auto-joining the voters set. I'll do that in the next revision to the KIP. Thanks, -- -José