glassfish
  1. glassfish
  2. GLASSFISH-5243

GlassFish can becomes unresponsible when the requests queue gets full

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 9.1.1
    • Fix Version/s: 9.1.1_dev
    • Component/s: grizzly-kernel
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      5,243
    • Status Whiteboard:
      Hide

      911Approved

      Show
      911Approved

      Description

      GlassFish can becomes unresponsible when it's requests queue reach it's maximum.
      By default, the max pending requests count is 4096. When queue size reach that
      limit, GlassFish starts dropping requests automatically by sending an error page
      to the user using its acceptor thread (SelectorThread).

      If the user isn't reading the response fast enough, there is probability that
      GlassFish can becomes unresponsitive for a short period of time (until the slow
      client read the error page response).

      The workaround is to increase the max-pending-count attribute of
      connection-pool, but that will just delay the problem. The solution is to drop
      the connection when the client isn't reading the response

        Activity

        Hide
        praagggm added a comment -

        Can you please let us know the patch application process

        Show
        praagggm added a comment - Can you please let us know the patch application process
        Hide
        jfarcand added a comment -

        Fixed

        Tag: SJSAS91_FCS_BRANCH
        User: jfarcand
        Date: 2008-07-04 01:59:59+0000
        Modified:

        glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/LinkedListPipeline.java

        Log:
        Fix for Issue https://glassfish.dev.java.net/issues/show_bug.cgi?id=5243
        ("GlassFish can becomes unresponsible when the requests queue gets full")

        Drop connection without trying to write anything, as the thread used for
        writing is the thread that accept the connection.

        + ALl QL passed

        Reviewed by: Jan Luehe

        File Changes:

        Directory:
        /glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/
        ============================================================================================

        File [changed]: LinkedListPipeline.java
        Url:
        https://glassfish.dev.java.net/source/browse/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/LinkedListPipeline.java?r1=1.25&r2=1.25.6.1
        Delta lines: +8 -5
        -------------------
        — LinkedListPipeline.java 2007-06-01 14:52:54+0000 1.25
        +++ LinkedListPipeline.java 2008-07-04 01:59:51+0000 1.25.6.1
        @@ -37,6 +37,7 @@

        Show
        jfarcand added a comment - Fixed Tag: SJSAS91_FCS_BRANCH User: jfarcand Date: 2008-07-04 01:59:59+0000 Modified: glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/LinkedListPipeline.java Log: Fix for Issue https://glassfish.dev.java.net/issues/show_bug.cgi?id=5243 ("GlassFish can becomes unresponsible when the requests queue gets full") Drop connection without trying to write anything, as the thread used for writing is the thread that accept the connection. + ALl QL passed Reviewed by: Jan Luehe File Changes: Directory: /glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/ ============================================================================================ File [changed] : LinkedListPipeline.java Url: https://glassfish.dev.java.net/source/browse/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/LinkedListPipeline.java?r1=1.25&r2=1.25.6.1 Delta lines: +8 -5 ------------------- — LinkedListPipeline.java 2007-06-01 14:52:54+0000 1.25 +++ LinkedListPipeline.java 2008-07-04 01:59:51+0000 1.25.6.1 @@ -37,6 +37,7 @@
        Hide
        harpreet added a comment -

        Approved for v2.1

        Show
        harpreet added a comment - Approved for v2.1
        Hide
        jfarcand added a comment -

        Created an attachment (id=1599)
        Very simple fix which drop requests if the queue is full and the client cannot read the bytes

        Show
        jfarcand added a comment - Created an attachment (id=1599) Very simple fix which drop requests if the queue is full and the client cannot read the bytes

          People

          • Assignee:
            jfarcand
            Reporter:
            jfarcand
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: