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é
