[
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