Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-4815

UnifiedInvokerProxyHA - Client instance check and assignment should be atomic

    XMLWordPrintable

    Details

      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

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  galder.zamarreno Galder ZamarreƱo
                  Reporter:
                  galder.zamarreno Galder ZamarreƱo
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: