You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Rajini Sivaram (JIRA)" <ji...@apache.org> on 2019/02/05 12:39:00 UTC

[jira] [Resolved] (KAFKA-7890) Invalidate ClusterConnectionState cache for a broker if the hostname of the broker changes.

     [ https://issues.apache.org/jira/browse/KAFKA-7890?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajini Sivaram resolved KAFKA-7890.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 2.1.1
                   2.2.0

> Invalidate ClusterConnectionState cache for a broker if the hostname of the broker changes.
> -------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-7890
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7890
>             Project: Kafka
>          Issue Type: Bug
>          Components: network
>    Affects Versions: 2.1.0
>            Reporter: Mark Cho
>            Assignee: Rajini Sivaram
>            Priority: Major
>             Fix For: 2.2.0, 2.1.1
>
>
> We've ran into a similar issue as this ticket: [https://issues.apache.org/jira/projects/KAFKA/issues/KAFKA-7755]
> The fix for KAFKA-7755 doesn't work for this case as the hostname is not updated when resolving the addresses.
> `ClusterConnectionStates::connecting` method makes an assumption that broker ID will always map to same hostname. In our case, when a broker is terminated in AWS, it is replaced by a different instance under the same broker ID. 
> In this case, the consumer fails to connect to the right host when the broker ID returns to the cluster. For example, we see the following line in DEBUG logs:
> {code:java}
> Initiating connection to node 100.66.7.94:7101 (id: 1 rack: us-east-1c) using address /100.66.14.165
> {code}
> It tries to connect to the new broker instance using the wrong (old) IP address.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)