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

nicu marasoiu edited comment on KAFKA-1282 at 9/17/14 9:53 AM:
---------------------------------------------------------------

Hi,

Unfortunately the client used in console-producer is not very robust with 
respect to disconnections, as will detail below. Is this the "old" scala 
producer, and can we hope for a resilient behaviour that I can test with the 
new java producer?

More specifically, the connection is closed from the broker side, but the 
producer is unaware of this. The first message after the close is lost (and is 
not retried later). The second message sees the broken channel, outputs the 
exception below, and reconnects and is succesfully retried, I can see it 
consumed.

[2014-09-17 12:44:12,009] WARN Failed to send producer request with correlation 
id 15 to broker 0 with data for partitions [topi,0] 
(kafka.producer.async.DefaultEventHandler)
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:149)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:483)
        at java.nio.channels.SocketChannel.write(SocketChannel.java:493)
        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:100)



was (Author: nmarasoi):
Hi,

Unfortunately the client used in console-producer is not robust with respect to 
disconnections, as below. Is this the "old" scala producer, and can we hope for 
a resilient behaviour that I can test with the new java producer?

[2014-09-17 12:44:12,009] WARN Failed to send producer request with correlation 
id 15 to broker 0 with data for partitions [topi,0] 
(kafka.producer.async.DefaultEventHandler)
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:149)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:483)
        at java.nio.channels.SocketChannel.write(SocketChannel.java:493)
        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:100)


> Disconnect idle socket connection in Selector
> ---------------------------------------------
>
>                 Key: KAFKA-1282
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1282
>             Project: Kafka
>          Issue Type: Bug
>          Components: producer 
>    Affects Versions: 0.8.2
>            Reporter: Jun Rao
>            Assignee: nicu marasoiu
>              Labels: newbie++
>             Fix For: 0.9.0
>
>         Attachments: 1282_the_ultimate,_close_max_one_per_select.patch, 
> KAFKA-1282_Disconnect_idle_socket_connection_in_Selector.patch, 
> idleDisconnect.patch
>
>
> To reduce # socket connections, it would be useful for the new producer to 
> close socket connections that are idle. We can introduce a new producer 
> config for the idle time.



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

Reply via email to