Uploaded image for project: 'JBoss Web Server'
  1. JBoss Web Server
  2. JWS-319

Periodic 400s on keepalive http connections

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • JWS 3.0.3 DR2
    • JWS 3.0.2 GA
    • tomcat7, tomcat8
    • None
    • Release Notes
    • Documented as Resolved Issue
    • Workaround Exists
    • Hide

      -Disable keepalive on your HTTP connector with maxKeepAliveRequests="1"

      Show
      -Disable keepalive on your HTTP connector with maxKeepAliveRequests="1"
    • Hide

      Keep sending requests on a single keepalive http connection.

      Show
      Keep sending requests on a single keepalive http connection.

    Description

      JWS 3 Tomcat does not reset its request buffer position to 0 in between each request. Thus the buffer gets smaller and smaller with each request until there's no space for headers, resulting in a 400 from:

      java.lang.IllegalArgumentException: Request header is too large
      	at org.apache.coyote.http11.InternalInputBuffer.fill(Unknown Source)
      	at org.apache.coyote.http11.InternalInputBuffer.fill(Unknown Source)
      	at org.apache.coyote.http11.InternalInputBuffer.parseHeader(Unknown Source)
      	at org.apache.coyote.http11.InternalInputBuffer.parseHeaders(Unknown Source)
      	at org.apache.coyote.http11.AbstractHttp11Processor.process(Unknown Source)
      	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Unknown Source)
      	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(Unknown Source)
      	at java.lang.Thread.run(Thread.java:745)
      

      Looks like we missed the fix from this upstream revision:

      r1658209 | markt | 2015-02-08 11:53:26 -0500 (Sun, 08 Feb 2015) | 2 lines
      
      Follow-up to r1657910
      Always reset pos to zero before next request.
      

      Attachments

        Activity

          People

            rhn-support-csutherl Coty Sutherland
            rhn-support-aogburn Aaron Ogburn
            Bogdan Sikora Bogdan Sikora (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: