if you look deeper under the hood of Java NET/IO you will see that there is no 
configurable timeout for writing blocking IO.
The best thing you can do is upgrade to Tomcat 6, and use the NIO connector 
(protocol="org.apache.coyote.http11.Http11NioProtocol") as that has a 
configurable timeout for writing data.

best
Filip


----- Original Message -----
> From: "Douglas Briere" <douglas.bri...@ca.com>
> To: 'users@tomcat.apache.org'
> Sent: Tuesday, May 15, 2012 4:18:00 PM
> Subject: DefaultServlet socketWrite hang
> 
> 
> Hello,
> 
> We are using tomcat 5.5.30. I saw the following 26 times at one of
> customers sites.  Our web server is used to launch JNLP
> applications, so I believe this was downloading the client jar
> files.  However, java webstart caches after the first occurrence so
> this is a bit odd.  Has anyone seen this before? It appears these
> threads are getting stalled out.  Could a socket timeout be
> configured?  Thanks.
> 
> at java.net.SocketOutputStream.socketWrite0(Native Method)
>                 at
>                 
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
>                 at
>                 java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>                 at
>                 
> org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:751)
>                 at
>                 
> org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:432)
>                 at
>                 
> org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:347)
>                 at
>                 
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:774)
>                 at
>                 
> org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
>                 at
>                 
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:584)
>                 at
>                 org.apache.coyote.Response.doWrite(Response.java:560)
>                 at
>                 
> org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:365)
>                 at
>                 
> org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:352)
>                 at
>                 
> org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:396)
>                 at
>                 
> org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:385)
>                 at
>                 
> org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
>                 at
>                 
> org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1839)
>                 at
>                 
> org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:929)
>                 at
>                 
> org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:385)
>                 at
>                 javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
>                 at
>                 javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>                 at
>                 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>                 at
>                 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>                 at
>                 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>                 at
>                 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>                 at
>                 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
>                 at
>                 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>                 at
>                 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>                 at
>                 
> org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:500)
>                 at
>                 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>                 at
>                 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>                 at
>                 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
>                 at
>                 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>                 at
>                 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>                 at
>                 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>                 at
>                 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to