On 06/20/2016 05:28 AM, Avi Asulin wrote:
Hi
We are using kafka 0.8.2 with scala 2.10 version
We currently have 3 brokers and we are working with ~ 170 producers
We frequently get the Error

ERROR Closing socket for /170.144.181.50 because of error
(kafka.network.Processor)
java.io.IOException: Connection reset by peer
         at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
         at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
         at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
         at sun.nio.ch.IOUtil.read(IOUtil.java:197)
         at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
         at kafka.utils.Utils$.read(Utils.scala:380)
         at
kafka.network.BoundedByteBufferReceive.readFrom(BoundedByteBufferReceive.scala:54)
         at kafka.network.Processor.read(SocketServer.scala:444)
         at kafka.network.Processor.run(SocketServer.scala:340)
         at java.lang.Thread.run(Thread.java:745)

we get the error on many producers ips
Can somone explain what can cause this error and what can be done to get
rid of it?

There can be a few different reasons for a connection reset by peer (arrival of a reset, aka RST, segment).

TCP provides the semantics of a full-duplex data stream. But it also supports a simplex stream (data in one direction only). So, you can tell TCP, via the shutdown() call, whether one expects to no longer send data (SHUT_WR) or receive data (SHUT_RD). If one sets SHUT_RD, and data later arrives, TCP will interpret that as an error and reset the connection - send an ReSeT segment.

A close() call is implicitly setting both SHUT_WR and SHUT_RD. So, if the far side called close(), and data arrived, that would trigger a RST.

Also, some applications might abuse SO_LINGER to generate what is called an "abortive close" which sends a RST immediately.

Further, if a TCP ends-up retransmitting to timeout, say because ACKs were being lost, it may sent an RST, and that RST could make it through.

happy benchmarking,

rick jones

Reply via email to