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)