[jboss-jira] [JBoss JIRA] Closed: (EJBTHREE-1366) Stop SFSB cache after the pool
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Sat May 17 09:04:23 EDT 2008
[ http://jira.jboss.com/jira/browse/EJBTHREE-1366?page=all ]
Brian Stansberry closed EJBTHREE-1366.
--------------------------------------
Resolution: Done
> 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