Details
-
Bug
-
Resolution: Done
-
Major
-
JBossAS-5.0.0.Beta2, JBossAS-4.2.1.GA
-
None
Description
I have realised that UnifiedInvokerProxy/UnifiedInvokerProxyHA maintain a instance reference to
the InvokerLocator/Client instances to a specific invocation is using. That is, when a new target is
chosen, the unified proxy updates its Client and corresponding InvokerLocator instances (if they've
changed), and uses the Cient instance variable to make the call. As far as I can see there's no
synchronisation in the usage/assignment of Client or InvokerLocator. Proxies are meant to be thread
safe which means that multiple client app threads could be using the same proxy without any problems.
I can see all this going wrong the moment someone uses client proxies this way in a clustered
environment with round robin load balance policy. We've got no guarantee that round robin will work
correctly in these situations.
Several solutions have been discussed in
Attachments
Issue Links
- incorporates
-
JBAS-5364 UnifiedInvokerHAProxy can throw NullPointerException under load
- Closed
- is incorporated by
-
JBPAPP-751 JBAS-5364 - UnifiedInvokerHAProxy can throw NullPointerException under load
- Resolved