[jira] [Commented] (KAFKA-3228) Partition reassignment failure for brokers freshly added to cluster
[ https://issues.apache.org/jira/browse/KAFKA-3228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15722362#comment-15722362 ] Ismael Juma commented on KAFKA-3228: Thanks for confirming. I removed the fix version to avoid having duplicates in the release notes, it's enough to have the issue that has the "Fixed" resolution. > Partition reassignment failure for brokers freshly added to cluster > --- > > Key: KAFKA-3228 > URL: https://issues.apache.org/jira/browse/KAFKA-3228 > Project: Kafka > Issue Type: Bug > Components: controller >Affects Versions: 0.8.2.1 >Reporter: Andrew Olson >Assignee: Neha Narkhede > > After adding about new 20 brokers to double the size of an existing > production Kafka deployment, when attempting to rebalance partitions we were > initially unable to reassign any partitions to 5 of the 20. There was no > problem with the other 15. The controller broker logged error messages like: > {noformat} > ERROR kafka.controller.KafkaController: [Controller 19]: Error completing > reassignment of partition [TOPIC-NAME,2] > kafka.common.KafkaException: Only 4,33 replicas out of the new set of > replicas 4,34,33 for partition [TOPIC-NAME,2] > to be reassigned are alive. Failing partition reassignment > at > kafka.controller.KafkaController.initiateReassignReplicasForTopicPartition(KafkaController.scala:611) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply$mcV$sp(KafkaController.scala:1203) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply(KafkaController.scala:1197) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply(KafkaController.scala:1197) > at kafka.utils.Utils$.inLock(Utils.scala:535) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4.apply(KafkaController.scala:1196) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4.apply(KafkaController.scala:1195) > at > scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:224) > at > scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:403) > at > kafka.controller.PartitionsReassignedListener.handleDataChange(KafkaController.scala:1195) > at org.I0Itec.zkclient.ZkClient$7.run(ZkClient.java:751) > at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) > {noformat} > We reattempted the reassignment to one of these new brokers, with the same > result. > We also saw these messages in the controller's log. There was a "Broken pipe" > error for each of the new brokers. > {noformat} > 2016-02-09 12:13:22,082 WARN kafka.controller.RequestSendThread: > [Controller-19-to-broker-34-send-thread], > Controller 19 epoch 28 fails to send request Name:UpdateMetadataRequest... > java.io.IOException: Broken pipe > at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) > at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) > at sun.nio.ch.IOUtil.write(IOUtil.java:148) > at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) > at java.nio.channels.SocketChannel.write(SocketChannel.java:502) > at > kafka.network.BoundedByteBufferSend.writeTo(BoundedByteBufferSend.scala:56) > at kafka.network.Send$class.writeCompletely(Transmission.scala:75) > at > kafka.network.BoundedByteBufferSend.writeCompletely(BoundedByteBufferSend.scala:26) > at kafka.network.BlockingChannel.send(BlockingChannel.scala:103) > at > kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:132) > at > kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:131) > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60) > {noformat} > {noformat} > WARN kafka.controller.RequestSendThread: > [Controller-19-to-broker-34-send-thread], > Controller 19 epoch 28 fails to send request Name:UpdateMetadataRequest... to > broker id:34... > Reconnecting to broker. > java.io.EOFException: Received -1 when reading from channel, socket has > likely been closed. > at kafka.utils.Utils$.read(Utils.scala:381) > at > kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54) > at kafka.network.Receive$class.readCompletely(Transmission.scala:56) > at > kafka.network.BoundedByteBufferReceive.readCompletely(BoundedByteBufferReceive.scala:29) > at kafka.network.BlockingChannel.receive(BlockingChannel.scala:111) > at > kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:133) > at >
[jira] [Commented] (KAFKA-3228) Partition reassignment failure for brokers freshly added to cluster
[ https://issues.apache.org/jira/browse/KAFKA-3228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15722343#comment-15722343 ] Andrew Olson commented on KAFKA-3228: - Added fix version and duplicate link. > Partition reassignment failure for brokers freshly added to cluster > --- > > Key: KAFKA-3228 > URL: https://issues.apache.org/jira/browse/KAFKA-3228 > Project: Kafka > Issue Type: Bug > Components: controller >Affects Versions: 0.8.2.1 >Reporter: Andrew Olson >Assignee: Neha Narkhede > Fix For: 0.10.1.0 > > > After adding about new 20 brokers to double the size of an existing > production Kafka deployment, when attempting to rebalance partitions we were > initially unable to reassign any partitions to 5 of the 20. There was no > problem with the other 15. The controller broker logged error messages like: > {noformat} > ERROR kafka.controller.KafkaController: [Controller 19]: Error completing > reassignment of partition [TOPIC-NAME,2] > kafka.common.KafkaException: Only 4,33 replicas out of the new set of > replicas 4,34,33 for partition [TOPIC-NAME,2] > to be reassigned are alive. Failing partition reassignment > at > kafka.controller.KafkaController.initiateReassignReplicasForTopicPartition(KafkaController.scala:611) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply$mcV$sp(KafkaController.scala:1203) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply(KafkaController.scala:1197) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply(KafkaController.scala:1197) > at kafka.utils.Utils$.inLock(Utils.scala:535) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4.apply(KafkaController.scala:1196) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4.apply(KafkaController.scala:1195) > at > scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:224) > at > scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:403) > at > kafka.controller.PartitionsReassignedListener.handleDataChange(KafkaController.scala:1195) > at org.I0Itec.zkclient.ZkClient$7.run(ZkClient.java:751) > at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) > {noformat} > We reattempted the reassignment to one of these new brokers, with the same > result. > We also saw these messages in the controller's log. There was a "Broken pipe" > error for each of the new brokers. > {noformat} > 2016-02-09 12:13:22,082 WARN kafka.controller.RequestSendThread: > [Controller-19-to-broker-34-send-thread], > Controller 19 epoch 28 fails to send request Name:UpdateMetadataRequest... > java.io.IOException: Broken pipe > at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) > at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) > at sun.nio.ch.IOUtil.write(IOUtil.java:148) > at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) > at java.nio.channels.SocketChannel.write(SocketChannel.java:502) > at > kafka.network.BoundedByteBufferSend.writeTo(BoundedByteBufferSend.scala:56) > at kafka.network.Send$class.writeCompletely(Transmission.scala:75) > at > kafka.network.BoundedByteBufferSend.writeCompletely(BoundedByteBufferSend.scala:26) > at kafka.network.BlockingChannel.send(BlockingChannel.scala:103) > at > kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:132) > at > kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:131) > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60) > {noformat} > {noformat} > WARN kafka.controller.RequestSendThread: > [Controller-19-to-broker-34-send-thread], > Controller 19 epoch 28 fails to send request Name:UpdateMetadataRequest... to > broker id:34... > Reconnecting to broker. > java.io.EOFException: Received -1 when reading from channel, socket has > likely been closed. > at kafka.utils.Utils$.read(Utils.scala:381) > at > kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54) > at kafka.network.Receive$class.readCompletely(Transmission.scala:56) > at > kafka.network.BoundedByteBufferReceive.readCompletely(BoundedByteBufferReceive.scala:29) > at kafka.network.BlockingChannel.receive(BlockingChannel.scala:111) > at > kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:133) > at > kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:131) > at
[jira] [Commented] (KAFKA-3228) Partition reassignment failure for brokers freshly added to cluster
[ https://issues.apache.org/jira/browse/KAFKA-3228?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15722341#comment-15722341 ] Andrew Olson commented on KAFKA-3228: - Since the exception message that we saw has been removed from the code, I agree that this should be marked resolved. The bug description for KAFKA-4214 makes sense for applicability to this scenario as well. > Partition reassignment failure for brokers freshly added to cluster > --- > > Key: KAFKA-3228 > URL: https://issues.apache.org/jira/browse/KAFKA-3228 > Project: Kafka > Issue Type: Bug > Components: controller >Affects Versions: 0.8.2.1 >Reporter: Andrew Olson >Assignee: Neha Narkhede > Fix For: 0.10.1.0 > > > After adding about new 20 brokers to double the size of an existing > production Kafka deployment, when attempting to rebalance partitions we were > initially unable to reassign any partitions to 5 of the 20. There was no > problem with the other 15. The controller broker logged error messages like: > {noformat} > ERROR kafka.controller.KafkaController: [Controller 19]: Error completing > reassignment of partition [TOPIC-NAME,2] > kafka.common.KafkaException: Only 4,33 replicas out of the new set of > replicas 4,34,33 for partition [TOPIC-NAME,2] > to be reassigned are alive. Failing partition reassignment > at > kafka.controller.KafkaController.initiateReassignReplicasForTopicPartition(KafkaController.scala:611) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply$mcV$sp(KafkaController.scala:1203) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply(KafkaController.scala:1197) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4$$anonfun$apply$6.apply(KafkaController.scala:1197) > at kafka.utils.Utils$.inLock(Utils.scala:535) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4.apply(KafkaController.scala:1196) > at > kafka.controller.PartitionsReassignedListener$$anonfun$handleDataChange$4.apply(KafkaController.scala:1195) > at > scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:224) > at > scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:403) > at > kafka.controller.PartitionsReassignedListener.handleDataChange(KafkaController.scala:1195) > at org.I0Itec.zkclient.ZkClient$7.run(ZkClient.java:751) > at org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:71) > {noformat} > We reattempted the reassignment to one of these new brokers, with the same > result. > We also saw these messages in the controller's log. There was a "Broken pipe" > error for each of the new brokers. > {noformat} > 2016-02-09 12:13:22,082 WARN kafka.controller.RequestSendThread: > [Controller-19-to-broker-34-send-thread], > Controller 19 epoch 28 fails to send request Name:UpdateMetadataRequest... > java.io.IOException: Broken pipe > at sun.nio.ch.FileDispatcherImpl.writev0(Native Method) > at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:51) > at sun.nio.ch.IOUtil.write(IOUtil.java:148) > at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:504) > at java.nio.channels.SocketChannel.write(SocketChannel.java:502) > at > kafka.network.BoundedByteBufferSend.writeTo(BoundedByteBufferSend.scala:56) > at kafka.network.Send$class.writeCompletely(Transmission.scala:75) > at > kafka.network.BoundedByteBufferSend.writeCompletely(BoundedByteBufferSend.scala:26) > at kafka.network.BlockingChannel.send(BlockingChannel.scala:103) > at > kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:132) > at > kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:131) > at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60) > {noformat} > {noformat} > WARN kafka.controller.RequestSendThread: > [Controller-19-to-broker-34-send-thread], > Controller 19 epoch 28 fails to send request Name:UpdateMetadataRequest... to > broker id:34... > Reconnecting to broker. > java.io.EOFException: Received -1 when reading from channel, socket has > likely been closed. > at kafka.utils.Utils$.read(Utils.scala:381) > at > kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54) > at kafka.network.Receive$class.readCompletely(Transmission.scala:56) > at > kafka.network.BoundedByteBufferReceive.readCompletely(BoundedByteBufferReceive.scala:29) > at kafka.network.BlockingChannel.receive(BlockingChannel.scala:111) > at >