[jboss-user] [Clustering] - Re: Forcing a certain node to become master
do-not-reply at jboss.com
Mon Nov 23 14:44:24 EST 2009
For sure you have to make modifications yourself.
The actual service topology is controlled by the org.jboss.ha.framework.server.DistributedReplicantManagerImpl, which is a sub-component of the HAPartition.
The JGroups view that's passed into HAPartition.viewAccepted() provides the list of nodes that have connected to the JGroups channel. But JGroups view != service topology, since not all nodes may have a particular service deployed, and there are timing differences during startup/shutdown of a server. That is, HAPartition connects the channel, so a node appears in the view, and then a service that uses HAPartition is deployed on that node, at which time the node appears in the service topology. The DistributedReplicantManagerImpl deals with that stuff.
A lot of AS clustering stuff works by getting notifications from DistributedReplicantManager when the topology for a service changes. For example, the org.jboss.ha.singleton.HASingletonSupport class uses those notifications to trigger election of an HASingleton master. The org.jboss.ha.framework.server.HATarget class uses the notifications to provide the correct topology to server-side interceptors like org.jboss.aspects.remoting.ReplicantsManagerInterceptor and to the clustered invokers like org.jboss.invocation.unified.server.UnifiedInvokerHA. Those classes advise remote clients when the service topology changes. The proxy factories a la org.jboss.proxy.generic.ProxyFactoryHA listen for notifications and respond by publishing a new version of the proxy in JNDI, so clients doing a lookup get a proxy with the current topology.
So what you're trying to do is to get the topology in the desired order. With that many different places receiving notifications, I don't think you want each one ordering the topology. Rather it's more logical to have the DistributedReplicantManagerImpl order things in the way you want before issuing the notifications.
There are no hooks or configuration points to let you plug in how things are ordered. You'd have to customize to add that. If you are able to come up with a solution that is generally useful, let me know, perhaps we could add it to the AS codebase.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267130#4267130
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267130
More information about the jboss-user