Re: http://jira.jboss.com/jira/browse/JBAS-4950
The fix for this issue is pretty simple, but I feel there's not enough testing in this area to make sure that the port from JRMP invoker to Unified invoker proxy was done correctly. I'm working on a series of tests for JBAS-4950 and JBAS-4455 to solve these shortcomings.
There's a topic in the JRMP/Unified proxies that requires further thought, which is exception handling. Let's compare the two:
1.- JRMPInvokerProxyHA
Exception handling that does not lead to invocationHasReachedAServer() being called:
* java.net.ConnectException
* java.net.UnknownHostException
* java.rmi.ConnectException
* java.rmi.ConnectIOException
* java.rmi.NoSuchObjectException
* java.rmi.UnknownHostException
* GenericClusteringException.NO
Exception handling that leads to invocationHasReachedAServer() being called:
* GenericClusteringException.YES
* java.rmi.ServerException
* java.lang.Exception
2.- UnifiedInvokerHAProxy
Exception handling that does not lead to invocationHasReachedAServer() being called:
* org.jboss.remoting.CannotConnectException
* GenericClusteringException.NO
* java.rmi.RemoteException
* java.lang.Throwable
Exception handling that leads to invocationHasReachedAServer() being called:
* GenericClusteringException.YES
As you can see, there're noticeable differences between the handling of the two proxies, and we have no tests to validate that the port from JRMP to Unified was done correctly.
My intention here is to determine what's missing or needs changing in Unified proxy so that it behaves the same way as the JRMP when it comes to transaction handling and tx failover authorisations.
I will probably create a different jira for this, rather than using JBAS-4950, because this jira focuses on the calling invocationHasReachedAServer() upon successfull returns, rather than exception handling itself. Thoughts?