Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-12998

[GSS](7.1.0) UserTransaction should be lazy to allow node selection (loadbalancing) even if the invocations stick to one node

    XMLWordPrintable

Details

    Description

      It should be possible to lookup a UserTransaction from a node or a cluster and call .begin() with starting the Transaction lazy until the first EJB invocation.
      The invocation will implicit begin the transaction and all invocation are sticky to that node.
      This is to spread the load across several server instances if there is no running transaction but keep the transaction sticky to the first selected node.
      It prevents from a strong affinity to one instance via URI affinity or the necessity to define the node for the UserTransaction upfront.

      The sticiness is because of issues with persistence like JPA as here the server is not really 'stateless' as the session of EntityManager can decide to not flush the changed data to the underlying database which can cause issues if the transaction will continued on a different instance if the client invoke EJB's multiple times.

      Attachments

        Issue Links

          Activity

            People

              dlloyd@redhat.com David Lloyd
              rhn-support-bmaxwell Brad Maxwell
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: