connectionTimeout is not timing out long client write times in JBossWeb

Solution Verified - Updated -

Issue

  • Thread dumps show threads stalling for some time in socket writes to clients in JBossWeb, for example:

    "127.0.0.1-8080-1" daemon prio=10 tid=0x0000000057503800 nid=0x7b37 runnable [0x00000000456fa000]
       java.lang.Thread.State: RUNNABLE
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(Unknown Source)
        at java.net.SocketOutputStream.write(Unknown Source)
        at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:724)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:449)
        at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:299)
        at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:950)
        at org.apache.coyote.Response.action(Response.java:186)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:345)
        at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:314)
        at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:98)
    
  • This Socket write state appears to last much longer than our connector's configured connectionTimeout. Why is the connectionTimeout not limiting the length of these socket writes?

Environment

  • JBoss Enterprise Application Platform (EAP)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content