You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Henri Pihkala (JIRA)" <ji...@apache.org> on 2015/01/10 13:07:34 UTC

[jira] [Commented] (KAFKA-1855) Topic unusable after unsuccessful UpdateMetadataRequest

    [ https://issues.apache.org/jira/browse/KAFKA-1855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14272472#comment-14272472 ] 

Henri Pihkala commented on KAFKA-1855:
--------------------------------------

I tried on 0.8.1.1 and didn't see this problem at all, so something must have changed since then.

Tracking down this bug may be challenging because it seems to appear at random and there is no clear reason to the socket getting closed, or at least it is not apparent from the logs. It cannot be due to network problems, as the controller and the target broker are the same node.

Maybe just make the communication more robust? Does the controller try to resend the message to the broker?

> Topic unusable after unsuccessful UpdateMetadataRequest
> -------------------------------------------------------
>
>                 Key: KAFKA-1855
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1855
>             Project: Kafka
>          Issue Type: Bug
>          Components: controller
>    Affects Versions: 0.8.2
>            Reporter: Henri Pihkala
>
> Sometimes, seemingly randomly, topic creation/initialization might fail with the following lines in controller.log. Other logs show no errors. When this happens, the topic is unusable (gives UnknownTopicOrPartition for all requests).
> For me this happens 5-10% of the time. Feels like it's more likely to happen if there is time between topic creations. Observed on 0.8.2-beta, have not tried previous versions.
> [2015-01-09 16:15:27,153] WARN [Controller-0-to-broker-0-send-thread], Controller 0 fails to send a request to broker id:0,host:192.168.10.21,port:9092 (kafka.controller.RequestSendThread)
> 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:108)
> 	at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:146)
> 	at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:60)
> [2015-01-09 16:15:27,156] ERROR [Controller-0-to-broker-0-send-thread], Controller 0 epoch 6 failed to send request Name:UpdateMetadataRequest;Version:0;Controller:0;ControllerEpoch:6;CorrelationId:48;ClientId:id_0-host_192.168.10.21-port_9092;AliveBrokers:id:0,host:192.168.10.21,port:9092;PartitionState:[40963064-cdd2-4cd1-937a-9827d3ab77ad,0] -> (LeaderAndIsrInfo:(Leader:0,ISR:0,LeaderEpoch:0,ControllerEpoch:6),ReplicationFactor:1),AllReplicas:0) to broker id:0,host:192.168.10.21,port:9092. Reconnecting to broker. (kafka.controller.RequestSendThread)
> java.nio.channels.ClosedChannelException
> 	at kafka.network.BlockingChannel.send(BlockingChannel.scala:97)
> 	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)



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