You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Nicolas Guyomar (Jira)" <ji...@apache.org> on 2021/05/18 08:41:00 UTC

[jira] [Created] (KAFKA-12805) Aborted send could have a different exception than DisconnectException

Nicolas Guyomar created KAFKA-12805:
---------------------------------------

             Summary: Aborted send could have a different exception than DisconnectException
                 Key: KAFKA-12805
                 URL: https://issues.apache.org/jira/browse/KAFKA-12805
             Project: Kafka
          Issue Type: Wish
          Components: network
            Reporter: Nicolas Guyomar


Tight now we are treating timeout in the network client as a disconnection exception, which "hides" legit timeout where increasing {{[request.timeout.ms|http://request.timeout.ms/]}} could be considered OK 
when there is no "real" network disconnection :
Caused by: org.apache.kafka.common.errors.TimeoutException: Call(callName=describeConfigs, deadlineMs=1616147081029) timed out at 1616147081039 after 2 attempt(s)
Caused by: org.apache.kafka.common.errors.DisconnectException: Cancelled describeConfigs request with correlation id 8 due to node 1 being disconnected
 

the DisconnectException is thrown because of the disconnect flag being set to true in [https://github.com/apache/kafka/blob/3d0b4d910b681df7d873c8a0285eaca01d6c173a/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java#L352]

While we _could_ have a different path from there [https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/NetworkClient.java#L793] that would propagate the fact that the connection timed out because of {{[request.timeout.ms|http://request.timeout.ms/]}} expiration, and adjust the later thrown exception   in there [https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java#L1195]  so that it's not a {{DisconnectException}} ?

 

Thank you

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)