[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