[
http://jira.jboss.com/jira/browse/JBAS-4455?page=comments#action_12391615 ]
Galder Zamarreno commented on JBAS-4455:
----------------------------------------
Todo 1 was tested last week and works as expected with
ha pooled invoker because it uses the ha JRMP proxy which
delegates to the pooled invoker proxy. No changes needed
there, so won't be adding changes for this.
Still todo:
4.- port this feature to 4.2.x.
5.- create subtasks for documentation for 4.2.x and trunk
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
Fix For: JBossAS-5.0.0.Beta3
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