[ 
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)

Reply via email to