glassfish
  1. glassfish
  2. GLASSFISH-14329

Web container fails to load a simple servlet after failover

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 3.1
    • Fix Version/s: 3.1_b31
    • Component/s: web_container
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: Linux

      Description

      Promoted build 26.

      The method check point test SFSB_MethodCPDriver passes in the 1st run. But it
      failed during the rerun. The test app was accessible in instance 1 during the
      rerun. After the failover (instance 1 crushed), the app was unaccessible on
      instance 2. The exception in instance 2:

      [#|2010-11-01T13:28:04.292-0700|INFO|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=389;_ThreadName=http-thread-pool-28080(4);|PWC1412:
      WebModule[null] ServletContext.log():PWC1409: Marking servlet SFSBDriverServlet
      as unavailable|#]

      [#|2010-11-01T13:28:04.292-0700|INFO|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=15;_ThreadName=Thread-1;|PWC1412:
      WebModule[null] ServletContext.log():PWC1409: Marking servlet SFSBDriverServlet
      as unavailable|#]

      [#|2010-11-01T13:28:04.292-0700|INFO|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=389;_ThreadName=http-thread-pool-28080(4);|PWC1412:
      WebModule[null] ServletContext.log():PWC1409: Marking servlet SFSBDriverServlet
      as unavailable|#]

      [#|2010-11-01T13:28:04.293-0700|WARNING|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=389;_ThreadName=http-thread-pool-28080(4);|StandardWrapperValve[SFSBDriverServlet]:
      PWC1382: Allocate exception for servlet SFSBDriverServlet
      com.sun.enterprise.container.common.spi.util.InjectionException: Error creating
      managed object for class com.sun.glassfish.sfsb.SFSBDriverServlet
      at
      com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.createManagedObject(InjectionManagerImpl.java:317)
      at
      com.sun.enterprise.web.WebContainer.createServletInstance(WebContainer.java:695)

      If the cluster and domain was restarted, the test will pass again.

      1. ejb-results.zip
        129 kB
        mzh777
      2. SFSBDriver.war
        12 kB
        mzh777

        Activity

        Hide
        mzh777 added a comment -

        Created an attachment (id=5290)
        Attached the test results and instance stack traces.

        Show
        mzh777 added a comment - Created an attachment (id=5290) Attached the test results and instance stack traces.
        Hide
        mzh777 added a comment -

        Created an attachment (id=5291)
        Testing app.

        Show
        mzh777 added a comment - Created an attachment (id=5291) Testing app.
        Hide
        Rajiv Mordani added a comment -

        This seems to be a redeployment / container startup issue. Assigning back to
        Shing Wai as I am not aware of the deploymnet code.

        Show
        Rajiv Mordani added a comment - This seems to be a redeployment / container startup issue. Assigning back to Shing Wai as I am not aware of the deploymnet code.
        Hide
        mzh777 added a comment -

        Here are the steps to reproduce:
        1. Create a GF cluster with 8 instances on 4 different machines.
        2. Deploy SFSBDriver.war. For example : asadmin deploy
        --availabilityenabled=true --force=true --target st-cluster SFSBDriver.war
        3. Access the instance 1 with
        http://[hostname1]:28080/SFSBDriver/SFSBDriverServlet for 5 times
        4. Kill instance 1 and access the instance 2 with
        http://[hostname2]:28080/SFSBDriver/SFSBDriverServlet

        The first time this test will pass. Undeploy the app from your target cluster.
        Repeat the above steps, the test will fail with exception in the issue.

        Show
        mzh777 added a comment - Here are the steps to reproduce: 1. Create a GF cluster with 8 instances on 4 different machines. 2. Deploy SFSBDriver.war. For example : asadmin deploy --availabilityenabled=true --force=true --target st-cluster SFSBDriver.war 3. Access the instance 1 with http://[hostname1]:28080/SFSBDriver/SFSBDriverServlet for 5 times 4. Kill instance 1 and access the instance 2 with http://[hostname2]:28080/SFSBDriver/SFSBDriverServlet The first time this test will pass. Undeploy the app from your target cluster. Repeat the above steps, the test will fail with exception in the issue.
        Hide
        Amy Roh added a comment -

        Fixed in Revision 43074.

        Show
        Amy Roh added a comment - Fixed in Revision 43074.

          People

          • Assignee:
            Amy Roh
            Reporter:
            mzh777
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: