Hello!

Thank you for the KIP. I would like to summarise my understanding of the 
problem in case I am wrong.

Currently a long-running client refreshes their metadata from a set of brokers 
obtained when first contacting the cluster. If they have been “away” for too 
long those brokers might have all changed and upon trying to refresh the 
metadata the client will fail because it cannot find an available broker. What 
you propose is that whenever such a situation is encountered the client should 
try to get the new set of brokers by communicating with the bootstrap-servers 
again.

If I have understood this correctly, then I agree with what is proposed as a 
solution in this KIP. To answer your question, in my opinion this behaviour 
should not be guarded by a configuration and should be the default once 
implemented. As a customer of Kafka, I cannot think of a situation where I 
would prefer my clients to give up if they have stale data without even trying 
to get the latest information. As far as I understand, the new behaviour will 
be entirely constrained to the client code which makes this change easier.

As a starting point can we confirm that this is indeed the current behaviour 
either by a reproducible manual test or by a branch with a failing 
unit/integration test? 

Best,
Christo

> On 18 Jan 2023, at 12:07, Ivan Yurchenko <ivan0yurche...@gmail.com> wrote:
> 
> Hello!
> I would like to start the discussion thread on KIP-899: Allow clients to
> rebootstrap.
> This KIP proposes to allow Kafka clients to repeat the bootstrap process
> when fetching metadata if none of the known nodes are available.
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-899%3A+Allow+clients+to+rebootstrap
> 
> A question right away: should we eventually change the default behavior or
> it can remain configurable "forever"? The latter is proposed in the KIP.
> 
> Thank you!
> 
> Ivan

Reply via email to