I'm going to try bumping up the "numRetries" key in my producer config. 
Is this a good option in this case? 
I am using the zookeeper connect option so I'm aware that I may get stuck 
retrying to a failed node, but if it's just a temporary network glitch I'll at 
least get a bit more of a chance to recover.

Thanks,
Karl

On Apr 23, 2013, at 5:35 PM, Karl Kirch <kki...@wdtinc.com>
 wrote:

> I occasionally am getting some batch send errors from the stock async 
> producer. This is on a cluster of 3 kafka (0.7.2) and 3 zookeeper nodes. 
> Is there anyway to check what happens when those batch errors occur? 
> Or bump up the retry count? (looks like it only did a single retry).
> 
> I need the speed of the async producer, but it needs to be reliable (I see a 
> handful of these a day but in a weather alerting system it only takes missing 
> one let alone 25 or 100/1000).
> 
> Here's a stack trace of one of the errors that I'm seeing.
> 
> 22:23:39.405 [ProducerSendThread-1824508747] WARN  k.p.a.DefaultEventHandler 
> - Error sending messages, 0 attempts remaining 
> java.io.IOException: Connection reset by peer
>       at sun.nio.ch.FileDispatcher.writev0(Native Method) ~[na:1.6.0_24]
>       at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:33) 
> ~[na:1.6.0_24]
>       at sun.nio.ch.IOUtil.write(IOUtil.java:125) ~[na:1.6.0_24]
>       at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:367) 
> ~[na:1.6.0_24]
>       at java.nio.channels.SocketChannel.write(SocketChannel.java:360) 
> ~[na:1.6.0_24]
>       at 
> kafka.network.BoundedByteBufferSend.writeTo(BoundedByteBufferSend.scala:49) 
> ~[apns-consumer-1.0.jar:na]
>       at kafka.network.Send$class.writeCompletely(Transmission.scala:73) 
> ~[apns-consumer-1.0.jar:na]
>       at 
> kafka.network.BoundedByteBufferSend.writeCompletely(BoundedByteBufferSend.scala:25)
>  ~[apns-consumer-1.0.jar:na]
>       at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:95) 
> ~[apns-consumer-1.0.jar:na]
>       at kafka.producer.SyncProducer.send(SyncProducer.scala:94) 
> ~[apns-consumer-1.0.jar:na]
>       at kafka.producer.SyncProducer.multiSend(SyncProducer.scala:135) 
> ~[apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.DefaultEventHandler.send(DefaultEventHandler.scala:58) 
> [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:44) 
> [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:116)
>  [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:95)
>  [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:71)
>  [apns-consumer-1.0.jar:na]
>       at scala.collection.immutable.Stream.foreach(Stream.scala:260) 
> [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:70)
>  [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:41) 
> [apns-consumer-1.0.jar:na]
> 22:23:39.406 [ProducerSendThread-1824508747] ERROR k.p.a.ProducerSendThread - 
> Error in handling batch of 27 events 
> java.io.IOException: Connection reset by peer
>       at sun.nio.ch.FileDispatcher.writev0(Native Method) ~[na:1.6.0_24]
>       at sun.nio.ch.SocketDispatcher.writev(SocketDispatcher.java:33) 
> ~[na:1.6.0_24]
>       at sun.nio.ch.IOUtil.write(IOUtil.java:125) ~[na:1.6.0_24]
>       at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:367) 
> ~[na:1.6.0_24]
>       at java.nio.channels.SocketChannel.write(SocketChannel.java:360) 
> ~[na:1.6.0_24]
>       at 
> kafka.network.BoundedByteBufferSend.writeTo(BoundedByteBufferSend.scala:49) 
> ~[apns-consumer-1.0.jar:na]
>       at kafka.network.Send$class.writeCompletely(Transmission.scala:73) 
> ~[apns-consumer-1.0.jar:na]
>       at 
> kafka.network.BoundedByteBufferSend.writeCompletely(BoundedByteBufferSend.scala:25)
>  ~[apns-consumer-1.0.jar:na]
>       at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:95) 
> ~[apns-consumer-1.0.jar:na]
>       at kafka.producer.SyncProducer.send(SyncProducer.scala:94) 
> ~[apns-consumer-1.0.jar:na]
>       at kafka.producer.SyncProducer.multiSend(SyncProducer.scala:135) 
> ~[apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.DefaultEventHandler.send(DefaultEventHandler.scala:58) 
> ~[apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:44) 
> ~[apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:116)
>  [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:95)
>  [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:71)
>  [apns-consumer-1.0.jar:na]
>       at scala.collection.immutable.Stream.foreach(Stream.scala:260) 
> [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:70)
>  [apns-consumer-1.0.jar:na]
>       at 
> kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:41) 
> [apns-consumer-1.0.jar:na]
> 
> 

Reply via email to