[jetty-user] What is the ideal jetty.xml configuration to avoid "Broken Pipe" exception ?
shamik <[email protected]> Wed, 21 Dec 2011 16:28:08 -0800 (PST)
| Newsgroups | gmane.comp.java.jetty.support |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I'm new to jetty and have started using it month back as an embedded
server in OSGi framework. Lately, I'm observing few "Broken Pipe" and "End
of File" exceptions.
Caused by: org.eclipse.jetty.io.EofException
at
org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:911)[80:org.eclipse.jetty.http:7.4.1.v20110513]
at
org.eclipse.jetty.server.HttpConnection.flushResponse(HttpConnection.java:753)[82:org.eclipse.jetty.server:7.4.1.v20110513]
at
org.eclipse.jetty.server.HttpConnection$Output.close(HttpConnection.java:1124)[82:org.eclipse.jetty.server:7.4.1.v20110513]
at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:606)[96:org.apache.cxf.bundle:2.4.0.fuse-00-27]
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)[96:org.apache.cxf.bundle:2.4.0.fuse-00-27]
at
org.apache.cxf.transport.http.AbstractHTTPDestination$BackChannelConduit.close(AbstractHTTPDestination.java:549)[96:org.apache.cxf.bundle:2.4.0.fuse-00-27]
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)[96:org.apache.cxf.bundle:2.4.0.fuse-00-27]
... 36 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcher.write0(Native Method)[:1.6.0_14]
at
sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)[:1.6.0_14]
at
sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)[:1.6.0_14]
at sun.nio.ch.IOUtil.write(IOUtil.java:60)[:1.6.0_14]
at
sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)[:1.6.0_14]
at
org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:240)[84:org.eclipse.jetty.io:7.4.1.v20110513]
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:282)[84:org.eclipse.jetty.io:7.4.1.v20110513]
at
org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:855)[80:org.eclipse.jetty.http:7.4.1.v20110513]
Initially, I bumped up the linux "ulimit" but it didn't completely address
the issue, except for the frequency of error. The current load to the server
is around 500 requests/sec. My current jetty.xml is bare minimum and doesn't
specify any threadpool or acceptor value. Just wondering, if improper
configuration is causing a problem resulting jetty to refuse connections.
Here's what I've.
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="port"><Property name="jetty.port"
default="8010"/></Set>
<Set name="maxIdleTime">20000</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
I'm not sure what default value jetty uses for acceptors or threadpool. I
looked into the documentation but failed to find anything relevant.
I'll appreciate if someone can provide pointers to this issue. I'm running
jetty version 7.
- Thanks
--
View this message in context: http://jetty.4.n6.nabble.com/What-is-the-ideal-jetty-xml-configuration-to-avoid-Broken-Pipe-exception-tp2144845p2144845.html
Sent from the Jetty Support mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email