[
http://jira.jboss.com/jira/browse/JBAS-3194?page=all ]
Brian Stansberry updated JBAS-3194:
-----------------------------------
Fix Version/s: JBossAS-4.0.6.CR1
(was: JBossAS-4.0.5.CR1)
Scott, I pushed this out to 4.0.6. If you can do it before Aug 4 for 4.0.5, that's
fine, but 4.0.6 is OK.
Proxies for HAServiceMBeanSupport subclass unbound across cluster
when any instance undeployed
----------------------------------------------------------------------------------------------
Key: JBAS-3194
URL:
http://jira.jboss.com/jira/browse/JBAS-3194
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Clustering
Affects Versions: JBossAS-4.0.4.CR2, JBossAS-4.0.3 SP1, JBossAS-4.0.3 Final
Reporter: Brian Stansberry
Assigned To: Scott Marlow
Fix For: JBossAS-4.0.6.CR1
ProxyFactoryHA registers a JMX notification listener for the shutdown of its target
service and removes the proxy from JNDI on receipt of the notification.
HAServiceMBeanSupport broadcasts its JMX notifications *across the cluster*. The effect
of this is that the ProxyFactoryHA on all cluster nodes will receive the notification when
any one instance of the service undeploys. The effect is all proxies across the cluster
are removed from JNDI.
Test org.jboss.test.cluster.jmx.test.HAInvokerUnitTestCase demonstrates this.
Following is a deliberately created stacktrace showing the origin of a notification that
caused an invalid removal from JNDI:
2006-05-08 01:51:53,703 DEBUG [org.jboss.proxy.generic.ProxyFactoryHA] About to stop:
disabling remote access to mbean jboss.test:service=HAService
2006-05-08 01:51:53,703 DEBUG [org.jboss.proxy.generic.ProxyFactoryHA]
java.lang.Exception: stacktrace
java.lang.Exception: stacktrace
at
org.jboss.proxy.generic.ProxyFactoryHA.containerIsAboutToStop(ProxyFactoryHA.java:169)
at
org.jboss.proxy.generic.ProxyFactoryHA$StateChangeListener.handleNotification(ProxyFactoryHA.java:231)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
at $Proxy10.handleNotification(Unknown Source)
at
org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
at
org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:110)
at
org.jboss.ha.jmx.HAServiceMBeanSupport._receiveRemoteNotification(HAServiceMBeanSupport.java:393)
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.jgroups.blocks.MethodCall.invoke(MethodCall.java:330)
at org.jboss.ha.framework.server.HAPartitionImpl.handle(HAPartitionImpl.java:1017)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:597)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:497)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:320)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:725)
at org.jgroups.JChannel.up(JChannel.java:1041)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:377)
at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:393)
at org.jgroups.stack.Protocol.passUp(Protocol.java:538)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:141)
at org.jgroups.stack.UpHandler.run(Protocol.java:60)
--
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