[jboss-jira] [JBoss JIRA] Created: (JBAS-4455) LoadBalancePolicy that tries to pin all requests associated with a tx to one server

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Thu May 31 13:30:08 EDT 2007


LoadBalancePolicy that tries to pin all requests associated with a tx to one server
-----------------------------------------------------------------------------------

                 Key: JBAS-4455
                 URL: http://jira.jboss.com/jira/browse/JBAS-4455
             Project: JBoss Application Server
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
          Components: Clustering
            Reporter: Brian Stansberry
         Assigned To: Galder Zamarreno
            Priority: Minor


The HA proxies don't allow failover once a tx has reached a server.  This can lead to this kind of situation:

EJB A deployed on nodes 1 and 2.
EJB B deployed on nodes 1 and 2.

1) Start tx, invoke on A.1.
2) Lookup B.
3) Invoke on B. LB policy picks B.2
4) Node 2 is dead for some reason so call fails.
5) Can't fail over because tx context won't allow a failover after a call has reached a server.

But, B.1 is fine and is running on the only node the tx has invoked on. :(

Approach to improving this.  This is based on JRMPInovkerProxyHA methods, but the idea is generic:

In invocationHasReachedAServer, instead of storing null as the value, you store the target (key is the tx).
In invoke, if there's a tx, you add that target (if there is one) to the invocation as transient metadata 
The LB policy gets passed the invocation as an arg when it chooses a target (this is already in the API)
LB policy checks for the metadata. If there, and that target is in its target list, return that target

-- 
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