[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