[jboss-jira] [JBoss JIRA] Commented: (JBAS-5536) UnifiedInvokerHAProxy replicants are not updated when other nodes undeploy beans
Galder Zamarreno (JIRA)
jira-events at lists.jboss.org
Thu May 22 10:30:59 EDT 2008
[ http://jira.jboss.com/jira/browse/JBAS-5536?page=comments#action_12413686 ]
Galder Zamarreno commented on JBAS-5536:
----------------------------------------
It's also worth noting that this has effects on start up of
nodes:
1.- Let's say node A starts up deploying EJB A, the proxy will
only be pointing to node A.
2.- Then, node B starts and deploys EJB A. Node A should
receive an update indicating that node B has EJB A but because
of this bug, the proxy won't be updated, so the proxy for EJB A
in node A will think it's the only owner.
3.- If you make several calls to EJB A in node A, these should
be load balanced as Round Robin by default, but this because
of this bug, it'd look as if it was First Available.
> UnifiedInvokerHAProxy replicants are not updated when other nodes undeploy beans
> --------------------------------------------------------------------------------
>
> Key: JBAS-5536
> URL: http://jira.jboss.com/jira/browse/JBAS-5536
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Clustering, Remoting
> Affects Versions: JBossAS-5.0.0.Beta3, JBossAS-4.2.1.GA
> Reporter: Galder Zamarreno
> Assigned To: Galder Zamarreno
> Priority: Critical
> Fix For: JBossAS-5.0.0.Beta4, JBossAS-4.2.2.GA
>
>
> We have a big regression at out hands. When we moved to unified
> invokers, we lost the ability for home/bean proxies to be updated
> when another node undeploys a bean. Why?
> ProxyFactoryHA.replicantsChanged looks something like this
> (the trace logs were added by me during debugging):
> public synchronized void replicantsChanged (String key,
> List newReplicants,
> int newReplicantsViewId)
> {
> try
> {
> if (homeInvoker instanceof InvokerProxyHA)
> {
> if (log.isTraceEnabled())
> {
> log.trace("Updating home proxy with new replicants " + target.getReplicants() + ", view=" + target.getCurrentViewId ());
> }
> ((InvokerProxyHA)homeInvoker).updateClusterInfo (target.getReplicants(), target.getCurrentViewId ());
> }
> if (beanInvoker instanceof InvokerProxyHA)
> {
> if (log.isTraceEnabled())
> {
> log.trace("Updating bean proxy with new replicants " + target.getReplicants() + ", view=" + target.getCurrentViewId ());
> }
> ((InvokerProxyHA)beanInvoker).updateClusterInfo (target.getReplicants(), target.getCurrentViewId ());
> }
> log.debug ("Rebinding in JNDI... " + key);
> rebindHomeProxy ();
> }
> catch (Exception none)
> {
> log.debug (none);
> }
> }
> UnifiedInvokerHAProxy *does not* implement InvokerProxyHA, so unified invoker ha
> proxies will never have their replicants updated.
--
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