[ https://issues.apache.org/jira/browse/KAFKA-2222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14568476#comment-14568476 ]
Guozhang Wang commented on KAFKA-2222: -------------------------------------- Today we have IO error handling in KafkaApi's request handling logic, but this and KAFKA-1860 actually expose two other places that should have error handling covered but not yet: 1. background thread like log compactor / log cleaner (KAFKA-1860). 2. response writing to socket (this ticket). The reason that 2) is not covered is because writing response back to the socket is not wrapped in KafkaApis, but in SocketServer.Processor.run(), which simply close the key but not cause broker to shutdown. > Write "Input/output error" did not result in broker shutdown > ------------------------------------------------------------ > > Key: KAFKA-2222 > URL: https://issues.apache.org/jira/browse/KAFKA-2222 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.8.1.2 > Reporter: Jason Rosenberg > > We had a disk start failing intermittently, and began seeing errors like this > in the broker. Usually, IOExceptions during a file write result in the > broker shutting down immediately. This is with version 0.8.2.1. > {code} > 2015-05-21 23:59:57,841 ERROR [kafka-network-thread-27330-2] > network.Processor - Closing socket for /1.2.3.4 because of error > java.io.IOException: Input/output error > at sun.nio.ch.FileChannelImpl.transferTo0(Native Method) > at > sun.nio.ch.FileChannelImpl.transferToDirectly(FileChannelImpl.java:443) > at sun.nio.ch.FileChannelImpl.transferTo(FileChannelImpl.java:575) > at kafka.log.FileMessageSet.writeTo(FileMessageSet.scala:147) > at kafka.api.PartitionDataSend.writeTo(FetchResponse.scala:70) > at kafka.network.MultiSend.writeTo(Transmission.scala:101) > at kafka.api.TopicDataSend.writeTo(FetchResponse.scala:125) > at kafka.network.MultiSend.writeTo(Transmission.scala:101) > at kafka.api.FetchResponseSend.writeTo(FetchResponse.scala:231) > at kafka.network.Processor.write(SocketServer.scala:472) > at kafka.network.Processor.run(SocketServer.scala:342) > at java.lang.Thread.run(Thread.java:745) > {code} > This resulted in intermittent producer failures failing to send messages > successfully, etc. -- This message was sent by Atlassian JIRA (v6.3.4#6332)