Details
Description
Jetty6 handles about 13 000 connections, 1000 reqs/per sec, 2 acceptors.
Sometime it shows Broken pipe exception in error log. After that acceptor seems to be dead. Exception in logged many times (huge logs up to 30gb and more). The only way to remove bug is to restart jetty.
java.io.IOException: Broken pipe
at sun.nio.ch.EPollArrayWrapper.interrupt(Native Method)
at sun.nio.ch.EPollArrayWrapper.interrupt(EPollArrayWrapper.java:256)
at sun.nio.ch.EPollSelectorImpl.wakeup(EPollSelectorImpl.java:175)
at org.mortbay.io.nio.SelectorManager$SelectSet.wakeup(SelectorManager.java:831)
at org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:709)
at org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:192)
at org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java:124)
at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:708)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Hi,
could you possibly try 6.1.26, as we made some changes to the selector manager that could improve handling of closing connections (
JETTY-1296,JETTY-748,JETTY-1264). While none of these are directly related to a Broken Pipe, they may improve the selectors ability to recover from such and error.How frequently does this happen?
Interestingly, Glassfish/Grizzly has had a similar issue reported: http://java.net/jira/browse/GRIZZLY-813, so we may have a look at their fix to see if this is an NIO issue.