Thanks, Gantigmaa. The new KIP looks better.

The admin client changes don't seem to include a way to find out if a given 
broker is fenced, by examining the result. Seems like we need that as well?

> Newer Admin clients connecting to older brokers will use the older protocol 
> version and hence will not
> request fenced brokers.

You need to describe what happens when the client requests to see fenced 
brokers, but the protocol doesn't support that. I would suggest 
UnsupportedVersionException.

best,
Colin

On Mon, Aug 19, 2024, at 08:29, Gantigmaa Selenge wrote:
> Hi everyone,
>
> I have updated the proposed solution of the KIP. Instead of extending the
> DescribeQuorum API, it now suggests updating the DescribeCluster API to
> optionally return fenced brokers. This should address the comments from
> Colin and Jose.
>
> Please let me know if you have any questions.
>
> Regards,
> Gantigmaa
>
> On Thu, Aug 15, 2024 at 9:00 AM Gantigmaa Selenge <gsele...@redhat.com>
> wrote:
>
>> Hi Colin and Jose,
>>
>> Thanks for taking a look at the KIP and providing feedback.
>>
>> I overlooked that the memory state containing observers will be lost when
>> a controller restarts. You also made a good point about other observers
>> that might be connecting to the quorum to read the current metadata. I
>> agree that we should implement a way to list the fenced brokers using the
>> DescribeClusterRequest instead of the DescribeQuorum API.
>>
>> I will update the KIP and get back to you all for further feedback. Thanks.
>>
>> Regards,
>> Gantigmaa
>>
>> On Fri, Aug 9, 2024 at 11:48 PM José Armando García Sancio
>> <jsan...@confluent.io.invalid> wrote:
>>
>>> Thanks for the KIP Gantigmaa!
>>>
>>> I agree with the motivation but it is not clear to me that this should be
>>> solved in the KRaft layer. The KRaft leader only keeps track, in-memory,
>>> of
>>> observers that have fetched. It is possible, after a kraft leader change,
>>> for this state to get lost. If the shutdown brokers never fetch they will
>>> not show up in the kraft leader's observer list.
>>>
>>> As Colin has pointed out it is better to solve this in the metadata module
>>> and the KRaft/Quorum controller. The QuorumController knows of all of the
>>> registered brokers and their state: fence, unfence and even the heartbeat
>>> state. Take a look at
>>> org.apache.kafka.controller.BrokerHeartbeatManager.BrokerHeartbeatState
>>> for
>>> some of the heartbeat state tracked.
>>>
>>> To expose this information we can extend the kafka-cluster CLI, and also
>>> extend Metadata RPC or introduce a new RPC that returns more broker level
>>> information.
>>>
>>> Thanks,
>>>
>>> On Thu, Jul 25, 2024 at 9:21 AM Gantigmaa Selenge <gsele...@redhat.com>
>>> wrote:
>>>
>>> > Hi everyone,
>>> >
>>> > I would like to start a discussion on KIP-1073 that includes inactive
>>> > observer nodes in the response for describeQuorum request.
>>> >
>>> >
>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-1073%3A+Return+inactive+observer+nodes+in+DescribeQuorum+response
>>> >
>>> > The initial discussion on this issue is here, if you would like to see
>>> what
>>> > was previously discussed:
>>> > https://lists.apache.org/list.html?dev@kafka.apache.org
>>> >
>>> > Any feedback and suggestions for the KIP are welcome in this email
>>> thread.
>>> >
>>> > Thank you.
>>> > Regards,
>>> > Gantigmaa Selenge
>>> >
>>>
>>>
>>> --
>>> -José
>>>
>>

Reply via email to