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)