[JBoss JIRA] Updated: (JBAS-73) Singleton and/or deployer is too brittle
by Brian Stansberry (JIRA)
[ https://jira.jboss.org/jira/browse/JBAS-73?page=com.atlassian.jira.plugin... ]
Brian Stansberry updated JBAS-73:
---------------------------------
Fix Version/s: JBossAS-5.1.0.CR1
(was: JBossAS-5.1.0.Beta1)
> Singleton and/or deployer is too brittle
> ----------------------------------------
>
> Key: JBAS-73
> URL: https://jira.jboss.org/jira/browse/JBAS-73
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Clustering
> Affects Versions: JBossAS-3.2.6 Final
> Reporter: Adrian Brock
> Assignee: Brian Stansberry
> Fix For: JBossAS-5.1.0.CR1
>
>
> Trying to bootstrap two JBoss servers, but the cluster join failed
> because the message took too long (long garbage collection/paging on my computer?)
> Server 2:
> GMS: address is htimes2:32925 (additional data: 14 bytes)
> -------------------------------------------------------
> 2004-12-21 15:14:30,909 DEBUG [org.jboss.ha.framework.server.ClusterPartition] Starting channel
> 2004-12-21 15:14:30,910 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] get nodeName
> 2004-12-21 15:14:30,990 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] Get current members
> 2004-12-21 15:14:30,991 INFO [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] Number of cluster members: 1
> 2004-12-21 15:14:30,992 INFO [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] Other members: 0
> 2004-12-21 15:14:30,992 INFO [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] Fetching state (will wait for 60000 milliseconds):
> 2004-12-21 15:14:30,999 INFO [org.jboss.ha.framework.interfaces.HAPartition.lifecycle.DefaultPartition] New cluster view for partition DefaultPartition (id: 0, delta:
> 0) : [127.0.0.1:1199]
> 2004-12-21 15:14:31,008 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] membership changed from 1 to 1
> 2004-12-21 15:14:31,009 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] Begin notifyListeners, viewID: 0
> 2004-12-21 15:14:31,009 INFO [org.jboss.ha.framework.server.DistributedReplicantManagerImpl.DefaultPartition] I am (null) received membershipChanged event:
> 2004-12-21 15:14:31,010 INFO [org.jboss.ha.framework.server.DistributedReplicantManagerImpl.DefaultPartition] Dead members: 0 ([])
> 2004-12-21 15:14:31,010 INFO [org.jboss.ha.framework.server.DistributedReplicantManagerImpl.DefaultPartition] New Members : 0 ([])
> 2004-12-21 15:14:31,010 INFO [org.jboss.ha.framework.server.DistributedReplicantManagerImpl.DefaultPartition] All Members : 1 ([127.0.0.1:1199])
> 2004-12-21 15:14:31,011 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] End notifyListeners, viewID: 0
> 2004-12-21 15:14:31,058 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] State could not be retrieved, (must be first member of group)
> 2004-12-21 15:14:31,137 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] setState called
> 2004-12-21 15:14:31,138 DEBUG [org.jboss.ha.framework.interfaces.HAPartition.DefaultPartition] state is null
> 2004-12-21 15:14:31,139 DEBUG [org.jboss.ha.framework.server.ClusterPartition] Started ClusterPartition: DefaultPartition
> The message was rejected by the other server (too late?) but the cluster
> eventually joined together
> Server 1:
> 15:13:05,825 INFO [Server] JBoss (MX MicroKernel) [3.2.7RC2 (build: CVSTag=Branch_3_2 date=200411160220)] Started in 4m:43s:249ms
> 15:15:39,184 WARN [NAKACK] [htimes2:32920 (additional data: 14 bytes)] discarded message from non-member htimes2:32925 (additional data: 14 bytes)
> 15:15:41,080 WARN [NAKACK] [htimes2:32920 (additional data: 14 bytes)] discarded message from non-member htimes2:32925 (additional data: 14 bytes)
> 15:15:55,106 INFO [DefaultPartition] New cluster view for partition DefaultPartition (id: 1, delta: 1) : [127.0.0.1:1099, 127.0.0.1:1199]
> 15:15:55,107 INFO [DefaultPartition] Merging partitions...
> 15:15:55,107 INFO [DefaultPartition] Dead members: 0
> This meant that server2 tried to bootstrap the deploy-hasingleton
> but part way through doing that (when it eventually joined the cluster)
> it was told to undeploy it.
> Since the original deploy hadn't finished, this caused havoc
> in particular trying to use a classloader that no longer existed:
> 2004-12-21 15:16:28,614 ERROR [org.jboss.mq.sm.jdbc.JDBCStateManager] Starting failed JDBCStateManager
> org.jboss.mq.SpyJMSException: Error creating connection to the database.; - nested throwable: (java.lang.NullPointerException)
> at org.jboss.mq.sm.jdbc.JDBCStateManager$JDBCSession.<init>(JDBCStateManager.java:542)
> at org.jboss.mq.sm.jdbc.JDBCStateManager.initDB(JDBCStateManager.java:432)
> at org.jboss.mq.sm.jdbc.JDBCStateManager.startService(JDBCStateManager.java:399)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
> at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
> at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:884)
> at $Proxy18.start(Unknown Source)
> at org.jboss.system.ServiceController.start(ServiceController.java:414)
> at org.jboss.system.ServiceController.start(ServiceController.java:436)
> at org.jboss.system.ServiceController.start(ServiceController.java:436)
> at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> at $Proxy4.start(Unknown Source)
> at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251)
> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:829)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:604)
> at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> at $Proxy8.deploy(Unknown Source)
> at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:304)
> at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:478)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
> at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
> at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
> at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
> at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:884)
> at $Proxy0.start(Unknown Source)
> at org.jboss.system.ServiceController.start(ServiceController.java:414)
> at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> at $Proxy4.start(Unknown Source)
> at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251)
> at org.jboss.deployment.MainDeployer.start(MainDeployer.java:829)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:604)
> at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:588)
> 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:324)
> at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
> at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
> at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
> at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
> at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
> at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> at $Proxy5.deploy(Unknown Source)
> at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:407)
> at org.jboss.system.server.ServerImpl.start(ServerImpl.java:311)
> at org.jboss.Main.boot(Main.java:147)
> at org.jboss.Main$1.run(Main.java:422)
> at java.lang.Thread.run(Thread.java:534)
> Caused by: java.lang.NullPointerException
> at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:143)
> at org.jboss.mx.loading.UnifiedClassLoader3.loadClassImpl(UnifiedClassLoader3.java:186)
> at org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:136)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:219)
> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:637)
> at javax.security.auth.login.LoginContext.access$000(LoginContext.java:129)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:610)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.login.LoginContext.invokeModule(LoginContext.java:607)
> at javax.security.auth.login.LoginContext.login(LoginContext.java:534)
> at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:480)
> at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:420)
> at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:237)
> at org.jboss.resource.connectionmanager.BaseConnectionManager2.getSubject(BaseConnectionManager2.java:665)
> at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
> at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:888)
> at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:102)
> at org.jboss.mq.sm.jdbc.JDBCStateManager$JDBCSession.<init>(JDBCStateManager.java:518)
> ... 95 more
> I would guess a similar race condition exists on all the HASingleton processing
> and with all attempts to multi-threadedly deploy/undeploy the same url?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months