[
https://issues.apache.org/jira/browse/KAFKA-2036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14504876#comment-14504876
]
Arsenii Krasikov commented on KAFKA-2036:
-----------------------------------------
I find that {{InetSocketAddress}} is only passed into
clients/src/main/java/org/apache/kafka/common/network.
{{org.apache.kafka.clients.NetworkClient.initiateConnect}}:499 constructs
incorrectly {{InetSocketAddress}} and passes it to {{Selectable}}.
{{org.apache.kafka.clients.ClientUtils.parseAndValidateAddresses}} has the same
problem as {{BlockingChannel}}: we need to create {{InetSocketAddress}} and
test it at once, we can't return it. So, it seems like the
{{parseAndValidateAddresses}} logic is incorrect and we need to return sockets
or use that resolvers/validators at place.
There is some sort of patch for
{{org.apache.kafka.clients.NetworkClient.initiateConnect}}:
{{this.connectionStates.connecting(node.id(), now)}} and
{{selector.connect(...)}} are swapped around because {{selector.connect()}}
can throw an error.
> Consumer and broker have different networks
> -------------------------------------------
>
> Key: KAFKA-2036
> URL: https://issues.apache.org/jira/browse/KAFKA-2036
> Project: Kafka
> Issue Type: Bug
> Components: network
> Affects Versions: 0.8.2.1
> Environment: oracle java {7,8}, ipv6 only consumer, ipv4 + ipv6 broker
> Reporter: Arsenii Krasikov
> Assignee: Jun Rao
> Attachments: patch
>
>
> If broker is connected to several networks ( for example ipv6 and ipv4 ) and
> not all of them are reachable to consumer then
> {{kafka.network.BlockingChannel}} gives up to connect after the first
> "Network is unreachable" error not triyng remaining networks
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)