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é
>

Reply via email to