Hi Tina,

Thanks for starting the discussion thread. This is indeed a problem if
users don't know which node ID need to be unregistered.
I'm +1 for adding another field in the response to include registered
observer nodes that are inactive. That will make it clear and won't confuse
existing users.

Thanks.
Luke

On Wed, Jul 10, 2024 at 11:43 PM Gantigmaa Selenge <gsele...@redhat.com>
wrote:

> Hi all,
>
> As reported in KAFKA-17094 [1], to scale down KRaft-based broker nodes,
> they must first be unregistered via the Kafka Admin API. If a node is
> removed before being unregistered, it can't be listed for unregistration
> because the describeQuorum won't show inactive observer nodes. This happens
> because the quorum state excludes nodes that haven't heartbeated within the
> observer session timeout [2].
>
> To address this issue, we could stop clearing the observers list, changing
> its meaning from "active observer nodes" to "all registered observer
> nodes". While the current code implies the list should only include active
> nodes, there's no documentation explicitly stating this. Moreover, the
> voters list already includes all registered/configured voter nodes,
> inactive or not. Making this change would align the behavior of the
> observers and voters lists.
>
> Alternatively, we could add another field in the response (requiring a KIP)
> to include registered observer nodes that are offline. This would result in
> two separate lists: one for active observer nodes and one for inactive
> observer nodes.
>
> What are your thoughts on this issue?
> [1] https://issues.apache.org/jira/browse/KAFKA-17094
> [2]
>
> https://github.com/apache/kafka/blob/trunk/raft/src/main/java/org/apache/kafka/raft/LeaderState.java#L469
>
>
> Thanks!
> Regards,
> Gantigmaa Selenge
>

Reply via email to