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

Validate security.inter.broker.protocol against the advertised.listeners protocols

    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: core
    • Labels:
      None

      Description

      When testing Kafka I found that Kafka can run in a very unhealthy state due to a misconfigured security.inter.broker.protocol. There are errors in the log such (shown below) but it would be better to prevent startup with a clear error message in this scenario.

      Sample error in the server logs:

      ERROR kafka.controller.ReplicaStateMachine$BrokerChangeListener: [BrokerChangeListener on Controller 71]: Error while handling broker changes
      kafka.common.BrokerEndPointNotAvailableException: End point PLAINTEXT not found for broker 69
      	at kafka.cluster.Broker.getBrokerEndPoint(Broker.scala:141)
      	at kafka.controller.ControllerChannelManager.kafka$controller$ControllerChannelManager$$addNewBroker(ControllerChannelManager.scala:88)
      	at kafka.controller.ControllerChannelManager.addBroker(ControllerChannelManager.scala:73)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$4.apply(ReplicaStateMachine.scala:372)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$4.apply(ReplicaStateMachine.scala:372)
      	at scala.collection.immutable.Set$Set1.foreach(Set.scala:79)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ReplicaStateMachine.scala:372)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1$$anonfun$apply$mcV$sp$1.apply(ReplicaStateMachine.scala:359)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1$$anonfun$apply$mcV$sp$1.apply(ReplicaStateMachine.scala:359)
      	at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:33)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1.apply$mcV$sp(ReplicaStateMachine.scala:358)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1.apply(ReplicaStateMachine.scala:357)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener$$anonfun$handleChildChange$1.apply(ReplicaStateMachine.scala:357)
      	at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:259)
      	at kafka.controller.ReplicaStateMachine$BrokerChangeListener.handleChildChange(ReplicaStateMachine.scala:356)
      	at org.I0Itec.zkclient.ZkClient$10.run(ZkClient.java:842)
      	at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                granthenke Grant Henke
                Reporter:
                granthenke Grant Henke
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: