glassfish
  1. glassfish
  2. GLASSFISH-6618

new threads are created with RCM is enabled

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 9.1.1
    • Fix Version/s: 9.1.1_dev
    • Component/s: web_container
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Sun

    • Issuezilla Id:
      6,618
    • Status Whiteboard:
      Hide

      911Approved

      Show
      911Approved

      Description

      Enable RCM by adding rcmSupport flag. Under load, lots of new threads are started.

      The problem was shown to Jeanfrancois.

        Activity

        Hide
        jfarcand added a comment -

        grizzly-kernel apply only on v3. Re-assign to myself as well.

        Show
        jfarcand added a comment - grizzly-kernel apply only on v3. Re-assign to myself as well.
        Hide
        harpreet added a comment -

        Approved for v2.1

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

        OK I defined in domain.xml:

        thread-count=20
        rcmSupport=true

        <jvm-options>-Dcom.sun.enterprise.web.ara.policyMetric=/tomcat-test/ServletTest|0.5</jvm-options>

        I'm using:

        ab -n30000 -c5000 http://192.168.0.101:8080/tomcat-test/ServletTest

        (so the rcm rule is created and executed and the reserved Pipeline created)

        then

        ab -n30000 -c5000 http://192.168.0.101:8080/

        so the remaining threads allocated to another application.

        And running the following script:

        while true; do jstack 29710 | grep httpWorkerThread-8080 | wc -l; done

        With the fix the thread count stay stable.

        Checking in IsolationPipeline.java;
        /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/IsolationPipeline.java,v
        <-- IsolationPipeline.java
        new revision: 1.5.6.1; previous revision: 1.5
        done
        Checking in algorithms/ContextRootAlgorithm.java;
        /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/algorithms/ContextRootAlgorithm.java,v
        <-- ContextRootAlgorithm.java
        new revision: 1.7.6.1; previous revision: 1.7
        done
        Checking in rules/ThreadRatioRule.java;
        /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/rules/ThreadRatioRule.java,v
        <-- ThreadRatioRule.java
        new revision: 1.4.6.1; previous revision: 1.4
        done

        Show
        jfarcand added a comment - OK I defined in domain.xml: thread-count=20 rcmSupport=true <jvm-options>-Dcom.sun.enterprise.web.ara.policyMetric=/tomcat-test/ServletTest|0.5</jvm-options> I'm using: ab -n30000 -c5000 http://192.168.0.101:8080/tomcat-test/ServletTest (so the rcm rule is created and executed and the reserved Pipeline created) then ab -n30000 -c5000 http://192.168.0.101:8080/ so the remaining threads allocated to another application. And running the following script: while true; do jstack 29710 | grep httpWorkerThread-8080 | wc -l; done With the fix the thread count stay stable. Checking in IsolationPipeline.java; /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/IsolationPipeline.java,v <-- IsolationPipeline.java new revision: 1.5.6.1; previous revision: 1.5 done Checking in algorithms/ContextRootAlgorithm.java; /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/algorithms/ContextRootAlgorithm.java,v <-- ContextRootAlgorithm.java new revision: 1.7.6.1; previous revision: 1.7 done Checking in rules/ThreadRatioRule.java; /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/rules/ThreadRatioRule.java,v <-- ThreadRatioRule.java new revision: 1.4.6.1; previous revision: 1.4 done
        Hide
        jfarcand added a comment -

        Fix target

        Show
        jfarcand added a comment - Fix target
        Hide
        jfarcand added a comment -

        Ported to the branch

        Checking in IsolationPipeline.java;
        /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/IsolationPipeline.java,v
        <-- IsolationPipeline.java
        new revision: 1.5.18.1; previous revision: 1.5
        done
        cvs commit: [03:51:14] waiting for unknown's lock in /cvs/CVSROOT
        cvs commit: [03:51:44] obtained lock in /cvs/CVSROOT
        Checking in algorithms/ContextRootAlgorithm.java;
        /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/algorithms/ContextRootAlgorithm.java,v
        <-- ContextRootAlgorithm.java
        new revision: 1.7.18.1; previous revision: 1.7
        done
        Checking in rules/ThreadRatioRule.java;
        /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/rules/ThreadRatioRule.java,v
        <-- ThreadRatioRule.java
        new revision: 1.4.18.1; previous revision: 1.4
        done

        Show
        jfarcand added a comment - Ported to the branch Checking in IsolationPipeline.java; /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/IsolationPipeline.java,v <-- IsolationPipeline.java new revision: 1.5.18.1; previous revision: 1.5 done cvs commit: [03:51:14] waiting for unknown's lock in /cvs/CVSROOT cvs commit: [03:51:44] obtained lock in /cvs/CVSROOT Checking in algorithms/ContextRootAlgorithm.java; /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/algorithms/ContextRootAlgorithm.java,v <-- ContextRootAlgorithm.java new revision: 1.7.18.1; previous revision: 1.7 done Checking in rules/ThreadRatioRule.java; /cvs/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/ara/rules/ThreadRatioRule.java,v <-- ThreadRatioRule.java new revision: 1.4.18.1; previous revision: 1.4 done

          People

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

            Dates

            • Created:
              Updated:
              Resolved: