Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-3068

NetworkClient may connect to a different Kafka cluster than originally configured

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.9.0.0
    • Fix Version/s: 0.9.0.1, 0.10.0.0
    • Component/s: clients
    • Labels:
      None

      Description

      In https://github.com/apache/kafka/pull/290, we added the logic to cache all brokers (id and ip) that the client has ever seen. If we can't find an available broker from the current Metadata, we will pick a broker that we have ever seen (in NetworkClient.leastLoadedNode()).

      One potential problem this logic can introduce is the following. Suppose that we have a broker with id 1 in a Kafka cluster. A producer client remembers this broker in nodesEverSeen. At some point, we bring down this broker and use the host in a different Kafka cluster. Then, the producer client uses this broker from nodesEverSeen to refresh metadata. It will find the metadata in a different Kafka cluster and start producing data there.

        Attachments

          Activity

            People

            • Assignee:
              enothereska Eno Thereska
              Reporter:
              junrao Jun Rao
              Reviewer:
              Ewen Cheslack-Postava
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: