Grant Henke created KAFKA-3194:
----------------------------------

             Summary: Validate security.inter.broker.protocol against the 
advertised.listeners protocols
                 Key: KAFKA-3194
                 URL: https://issues.apache.org/jira/browse/KAFKA-3194
             Project: Kafka
          Issue Type: Bug
          Components: core
    Affects Versions: 0.9.0.0
            Reporter: Grant Henke
            Assignee: Grant Henke
             Fix For: 0.9.0.1


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:
{code}
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)
{code}



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

Reply via email to