Hi All, I have an intermittent issue with Synapse where it prints the following exception in its Error logs.
[2013-08-15 16:57:28,710] ERROR - SourceHandler Unexpected I/O error: java.nio.channels.ClosedChannelException java.nio.channels.ClosedChannelException at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:135) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:326) at org.apache.http.impl.nio.reactor.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:167) at org.apache.http.impl.nio.DefaultNHttpServerConnection.produceOutput(DefaultNHttpServerConnection.java:323) at org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection.produceOutput(LoggingNHttpServerConnection.java:112) at org.apache.synapse.transport.passthru.ServerIODispatch.onOutputReady(ServerIODispatch.java:87) at org.apache.synapse.transport.passthru.ServerIODispatch.onOutputReady(ServerIODispatch.java:39) at org.apache.http.impl.nio.reactor.AbstractIODispatch.outputReady(AbstractIODispatch.java:143) at org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:180) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316) at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277) at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:584) at java.lang.Thread.run(Thread.java:662) What happens is for some reason, the corresponding SocketChannel is closed but still some IO operation is done on it. Once this exception is caught from httpcore-nio, it will be passed to * org.apache.http.nio.NHttpServerEventHandler* implementation (*org.apache.synapse.transport.passthru.SourceHandler * ) and will be printed on Synapse Error logs. Since this is an intermittent issue, I tried to reproduce this programmatically but failed [1]. What can be the practical reason for this Error? Can this be deliberately reproduced with Synapse? [1] http://stackoverflow.com/q/18309283/1411653 Thanks in advance, Jeewantha.
