Mark Anderson created KAFKA-8182:
------------------------------------
Summary: IllegalStateException in NetworkClient.initiateConnect
when handling UnknownHostException thrown from
ClusterConnectionStates.connecting
Key: KAFKA-8182
URL: https://issues.apache.org/jira/browse/KAFKA-8182
Project: Kafka
Issue Type: Bug
Components: network
Affects Versions: 2.2.0
Reporter: Mark Anderson
When NetworkUtils.initiateConnect calls connectionStates.connecting an
UnknownHostException can be thrown by ClientUtils.resolve when creating a new
NodeConnectionState .
In the above case the nodeState map within ClusterConnectionStates will not
contain an entry for the node ID.
The catch clause within NetworkUtils.initiateConnect immediately calls
connectionStates.disconnected but this makes the assumption that a
NodeConnectionState entry exists for the node ID. This assumption is incorrect
when an UnknownHostException is thrown as described above and leads to an
IllegalStateException like the following:
{noformat}
java.lang.IllegalStateException: No entry found for connection 2147483645|
at
org.apache.kafka.clients.ClusterConnectionStates.nodeState(ClusterConnectionStates.java:339)|
at
org.apache.kafka.clients.ClusterConnectionStates.disconnected(ClusterConnectionStates.java:143)|
at
org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:926)|
at
org.apache.kafka.clients.NetworkClient.ready(NetworkClient.java:287)|{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)