[jboss-jira] [JBoss JIRA] Created: (EJBTHREE-1366) Stop SFSB cache after the pool
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Thu May 15 14:55:22 EDT 2008
Stop SFSB cache after the pool
------------------------------
Key: EJBTHREE-1366
URL: http://jira.jboss.com/jira/browse/EJBTHREE-1366
Project: EJB 3.0
Issue Type: Sub-task
Components: cache
Affects Versions: AS 5.0.0.Beta4
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: AS 5.0.0.CR1
One part of the parent issue is the SFSB cache is stopped before other elements of the container. This leads to undeployment problems like the following:
2008-05-15 13:42:35,711 WARN [org.jboss.kernel.plugins.dependency.StartStopLifecycleAction] (RMI TCP Connection(6)-127.0.0.1) Error during stop for jboss.j2ee:ear=clusteredsession-nested.jar,jar=clusteredsession-nested.jar,name=testDeepNestedStateful,service=EJB3
java.lang.RuntimeException: exception thrown while removing SFSB
at org.jboss.ejb3.stateful.StatefulBeanContext.remove(StatefulBeanContext.java:668)
at org.jboss.ejb3.stateful.ProxiedStatefulBeanContext.remove(ProxiedStatefulBeanContext.java:277)
at org.jboss.ejb3.pool.AbstractPool.remove(AbstractPool.java:145)
at org.jboss.ejb3.InfinitePool.destroy(InfinitePool.java:44)
at org.jboss.ejb3.pool.ThreadlocalPool.destroy(ThreadlocalPool.java:71)
at org.jboss.ejb3.EJBContainer.stop(EJBContainer.java:877)
at org.jboss.ejb3.session.SessionContainer.stop(SessionContainer.java:229)
at org.jboss.ejb3.stateful.StatefulContainer.stop(StatefulContainer.java:262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:56)
at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:110)
at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:240)
at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:45)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:108)
at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:69)
at org.jboss.kernel.plugins.dependency.LifecycleAction.uninstallActionInternal(LifecycleAction.java:249)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.uninstallAction(InstallsAwareAction.java:157)
at org.jboss.kernel.plugins.dependency.InstallsAwareAction.uninstallAction(InstallsAwareAction.java:42)
at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleUninstallAction(SimpleControllerContextAction.java:79)
at org.jboss.dependency.plugins.action.AccessControllerContextAction.uninstall(AccessControllerContextAction.java:131)
at org.jboss.dependency.plugins.AbstractControllerContextActions.uninstall(AbstractControllerContextActions.java:58)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1408)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1066)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:988)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:515)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:471)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.undeploy(BeanMetaDataDeployer.java:99)
at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.undeploy(BeanMetaDataDeployer.java:46)
at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:112)
at org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:197)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1189)
at org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1182)
at org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1144)
at org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:354)
at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1408)
at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1066)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:679)
at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:456)
at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:510)
at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
.....
Caused by: java.lang.NullPointerException
at org.jboss.ejb3.cache.tree.StatefulTreeCache.remove(StatefulTreeCache.java:241)
at org.jboss.ejb3.stateful.StatefulBeanContext.removeContains(StatefulBeanContext.java:337)
at org.jboss.ejb3.stateful.StatefulBeanContext.remove(StatefulBeanContext.java:652)
... 96 more
Basically, the cache is stopped so it's nulled out some fields, but the the container stops its pool, which calls remove() on beans, thus invoking on the cache.
Note that fixing this doesn't completely fix the parent issue; still need to prevent shutdown of the container while still handling requests and ensure that requests that come in while shutdown is happening get an exception that triggers failover in a clustered proxy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list