Hi Kevin, Sorry for the late review. I have a question:
LC1. We said we can allow users to "unregister an active voter", but will re-register it later. What is the state that a voter is not registered in the cluster? What will happen if the unregistered voter is the leader controller? We did many protections when adding/removing voters to avoid the broken quorum, so I think we should also have some validation to check if this is a voter before unregistering it. Thanks, Luke On Wed, May 13, 2026 at 8:20 PM José Armando García Sancio via dev < [email protected]> wrote: > Hi Kevin, > > On Tue, May 12, 2026 at 8:42 PM Kevin Wu <[email protected]> wrote: > > RE JS1: I like the idea of a separate `CONTROLER_ID_NOT_REGISTERED` error > > code for unregistering a controller which is not registered. I have > updated > > the KIP with this. > > > > RE JS2: Another case where reusing the ApiKey 1 metadata record may not > be > > a good idea is for a combined node, where the broker and controller share > > the same node id. When the controller replays this record, should it > > unregister the broker or the controller? The answer is not super > obvious. I > > think the only way to distinguish between the broker and controller > > un-registrations is by looking if the `brokerEpoch` is set in the record, > > but that seems less intuitive than introducing a separate record. I have > > updated the KIP with this case too. > > Yes, we discussed both issues offline and decided to introduce a new > error for CONTROLER_ID_NOT_REGISTERED and a new unregistration > controller record. Because of the combined mode, a controller > registration and a broker registration can share the same node id. > Without a separate unregistration record, it is difficult to determine > during replay which entity is being unregistered. > > Thanks, > -- > -José >
