Trying to understand error messages in message processor

Hi,

We are running on Apigee private cloud and i wanted to understand the significance/meaning of some of the error messages captured in our message processor

2018-05-07 12:30:57,819 org:someorg env:prod api:proxyname rev:11 prdctlvapirtr01.clientsys.local_CYVSPGN7Q_RouterProxy-9-1200935_92 NIOThread@1 ERROR HTTP.SERVER - HTTPServer$Context$2.onException() : Message id:router1.clientsys.local_CYVSPGN7Q_RouterProxy-9-1200935_92 ClientOutputChannel(ClientChannel[A:someip1:8998 Remote host:someip2:51212]@4623472 useCount=1 bytesRead=0 bytesWritten=6451733 age=11912667ms lastIO=1ms ).onExceptionWrite exception:{} java.io.IOException: Connection reset by peer at com.apigee.nio.channels.ClientOutputChannel.writePending(ClientOutputChannel.java:51) ~[nio-1.0.0.jar:na] at com.apigee.nio.channels.OutputChannel.onWrite(OutputChannel.java:116) ~[nio-1.0.0.jar:na] at com.apigee.nio.channels.OutputChannel.write(OutputChannel.java:81) ~[nio-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageWriter.onWrite(MessageWriter.java:139) [http-1.0.0.jar:na] at com.apigee.protocol.http.io.MessageWriter.<init>(MessageWriter.java:107) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context$2.<init>(HTTPServer.java:684) [http-1.0.0.jar:na] at com.apigee.protocol.http.HTTPServer$Context.send(HTTPServer.java:684) [http-1.0.0.jar:na] at com.apigee.messaging.adaptors.http.configuration.MessageProcessorHttpSkeletonFactory$FlowCompletionListener.onFinish(MessageProcessorHttpSkeletonFactory.java:400) [http-adaptor-1.0.0.jar:na] at com.apigee.flow.MessageFlowImpl.onCompletion(MessageFlowImpl.java:192) [message-flow-1.0.0.jar:na] at com.apigee.flow.MessageFlowImpl.resume(MessageFlowImpl.java:154) [message-flow-1.0.0.jar:na] at com.apigee.flow.execution.ExecutionContextImpl$1.run(ExecutionContextImpl.java:93) [message-flow-1.0.0.jar:na] at com.apigee.nio.NIOSelector.runTasks(NIOSelector.java:317) [nio-1.0.0.jar:na] at com.apigee.nio.NIOSelector.access$000(NIOSelector.java:29) [nio-1.0.0.jar:na] at com.apigee.nio.NIOSelector$2.findNext(NIOSelector.java:265) [nio-1.0.0.jar:na] at com.apigee.nio.NIOSelector$2.findNext(NIOSelector.java:256) [nio-1.0.0.jar:na] at com.apigee.nio.util.NonNullIterator.computeNext(NonNullIterator.java:16) [nio-1.0.0.jar:na] at com.apigee.nio.util.AbstractIterator.hasNext(AbstractIterator.java:36) [nio-1.0.0.jar:na] at com.apigee.nio.handlers.NIOThread.run(NIOThread.java:59) [nio-1.0.0.jar:na] Caused by: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:1.7.0_131] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[na:1.7.0_131] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[na:1.7.0_131] at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[na:1.7.0_131] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492) ~[na:1.7.0_131] at com.apigee.nio.PlainTransport.write(PlainTransport.java:107) ~[nio-1.0.0.jar:na] at com.apigee.nio.ClientChannel.write(ClientChannel.java:307) ~[nio-1.0.0.jar:na] at com.apigee.nio.channels.ClientOutputChannel.writePending(ClientOutputChannel.java:47) ~[nio-1.0.0.jar:na]

2018-05-07 12:30:57,819 org:someorg env:someenv api:someproxy rev:11 router01.clientsys.local_CYVSPGN7Q_RouterProxy-9-1200935_92 NIOThread@1 ERROR ADAPTORS.HTTP.FLOW - ResponseWriteListener.onException() : ResponseWriteListener.onException(HTTPResponse@636780b1, Connection reset by peer)

2018-05-07 12:30:52,011 org:someorg env:someenv api:someproxy rev:11 router01.clientsys.local_CYVSPGN7Q_RouterProxy-9-1200879_407 NIOThread@3 ERROR SSL.Transport - SSLTransport.run() : Async Exception:java.io.IOException: Crazy logic to release the sockets occurred for the Channel:SSLClientChannel[C:https host Remote host:host2:48770]@983416 useCount=1 bytesRead=0 bytesWritten=1381 age=60009ms lastIO=60001ms

0 3 1,886
3 REPLIES 3

"Connection reset by peer" suggests that the peer (the thing communicating with Apigee Edge) has dropped the connection. It's the HTTPServer that is writing, therefore it's a response. So the peer in this case is the original client.

So it seems like the client is dropping the connection while Apigee Edge is attempting to write the response data to the client.

Does that help?

Hi Dino,

Thank you for responding.

so the client in this case will be the router or the actual client making the request. Please note that our router timeout is less than message processor timeout at this point

Also what do the other two messages mean

2018-05-07 12:30:57,819 org:someorg env:someenv api:someproxy rev:11 router01.clientsys.local_CYVSPGN7Q_RouterProxy-9-1200935_92 NIOThread@1 ERROR ADAPTORS.HTTP.FLOW - ResponseWriteListener.onException() : ResponseWriteListener.onException(HTTPResponse@636780b1, Connection reset by peer)

2018-05-07 12:30:52,011 org:someorg env:someenv api:someproxy rev:11 router01.clientsys.local_CYVSPGN7Q_RouterProxy-9-1200879_407 NIOThread@3 ERROR SSL.Transport - SSLTransport.run() : Async Exception:java.io.IOException: Crazy logic to release the sockets occurred for the Channel:SSLClientChannel[C:https host Remote host:host2:48770]@983416 useCount=1 bytesRead=0 bytesWritten=1381 age=60009ms lastIO=60001ms

This is very common issue as dino explained ..if you want to triage simply run a tcpdump and work with the system/api which you are connecting to detail as why the connection is been dropped?