[jboss-jira] [JBoss JIRA] Updated: (JBAS-5536) UnifiedInvokerHAProxy replicants are not updated when other nodes undeploy beans

Galder Zamarreno (JIRA) jira-events at lists.jboss.org
Wed May 21 05:24:59 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBAS-5536?page=all ]

Galder Zamarreno updated JBAS-5536:
-----------------------------------

    Workaround Description: 
The obvious workaround is to use JRMP invokers instead of Unified invokers while this 
gets sorted as JRMP invoker proxy ha does implement InvokerProxyHA. To do that, take 
your EJB and add the following to the beans jboss.xml so that it uses JRMP invoker instead 
of Unified:

<jboss>

    <enterprise-beans>

       <session>
          <ejb-name>Boo</ejb-name>
          <jndi-name>ejb/BooEjb</jndi-name>
          <configuration-name>JRMP Clustered Stateless SessionBean</configuration-name>
          <clustered>true</clustered>
       </session>

    </enterprise-beans>
    
    <container-configurations>
          
      <container-configuration extends="Clustered Stateless SessionBean">
         <container-name>JRMP Clustered Stateless SessionBean</container-name>
         <invoker-proxy-binding-name>clustered-stateless-rmi-invoker</invoker-proxy-binding-name>
      </container-configuration>      
     
    </container-configurations>    

</jboss>

  was:
The obvious workaround is to use JRMP invokers instead of Unified invokers while this 
gets sorted as JRMP invoker proxy ha does implement InvokerProxyHA. To do that, take 
your EJB and add the following so that it uses JRMP invoker instead of Unified:

<jboss>
    <enterprise-beans>
       <session>
          <ejb-name>Boo</ejb-name>
          <jndi-name>ejb/BooEjb</jndi-name>
          <configuration-name>JRMP Clustered Stateless SessionBean</configuration-name>
          <clustered>true</clustered>
       </session>
    </enterprise-beans>
    
    <container-configurations>
          
      <container-configuration extends="Clustered Stateless SessionBean">
         <container-name>JRMP Clustered Stateless SessionBean</container-name>
         <invoker-proxy-binding-name>clustered-stateless-rmi-invoker</invoker-proxy-binding-name>
      </container-configuration>      
     
    </container-configurations>    



> 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.Beta4, JBossAS-4.2.2.GA
>            Reporter: Galder Zamarreno
>         Assigned To: Galder Zamarreno
>            Priority: Critical
>
> 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