You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2015/02/06 08:18:34 UTC

[jira] [Comment Edited] (KAFKA-1925) Coordinator Node Id set to INT_MAX breaks coordinator metadata updates

    [ https://issues.apache.org/jira/browse/KAFKA-1925?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14308725#comment-14308725 ] 

Guozhang Wang edited comment on KAFKA-1925 at 2/6/15 7:17 AM:
--------------------------------------------------------------

Proposed solution:

Change the INT_MAX to INT_MAX - node.id, so that different node's corresponding coordinator socket will be different.

Originally tried node.id * (-1), but these node id may already been used in bootstrap.


was (Author: guozhang):
Proposed solution:

Change the INT_MAX to node.id * (-1), so that different node's corresponding coordinator socket will be different.

> Coordinator Node Id set to INT_MAX breaks coordinator metadata updates
> ----------------------------------------------------------------------
>
>                 Key: KAFKA-1925
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1925
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: consumer
>            Reporter: Guozhang Wang
>            Assignee: Guozhang Wang
>            Priority: Critical
>
> KafkaConsumer used INT_MAX to mimic a new socket for coordinator (details can be found in KAFKA-1760). However, this behavior breaks the coordinator as the underlying NetworkClient only used the node id to determine when to initiate a new connection:
> {code}
> if (connectionStates.canConnect(node.id(), now))
>             // if we are interested in sending to a node and we don't have a connection to it, initiate one
>             initiateConnect(node, now);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)