Andrew Schofield created KAFKA-20939:
----------------------------------------

             Summary: Client applications broken by DNS resolution failure 
behaviour change
                 Key: KAFKA-20939
                 URL: https://issues.apache.org/jira/browse/KAFKA-20939
             Project: Kafka
          Issue Type: Bug
          Components: clients
    Affects Versions: 4.4.0
            Reporter: Andrew Schofield
            Assignee: TengYao Chi


KIP-909 introduces a behavioural change in the Kafka client in Apache Kafka 
4.4.0 without an explicit opt-in.

Prior to KIP-909, a DNS resolution failure would result in ConfigException 
being thrown from the constructor of a Kafka client object such as 
KafkaProducer - this means a failure would not create an instance of 
KafkaProducer at all, which is fundamentally different to a broken unusable 
instance of KafkaProducer.

After KIP-909, a DNS resolution failure results in the non-retriable 
BootstrapResolutionException being thrown from another method such as 
KafkaProducer.send(). The result is a broken instance of KafkaProducer which 
needs to be discarded and created afresh.

There is the possibility that applications are broken by this change in 
behaviour without explicitly opting in to what is fundamentally a better design 
than what went before.

It seems possible to default to the prior behaviour, and make the new behaviour 
opt-in. This would eliminate the risk of breaking existing applications while 
retaining the improved behaviour for those who choose to use it.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to