History | Log In     View a printable version of the current page. Get help!  
Issue Details (XML | Word)

Key: JBAS-4950
Type: Bug Bug
Status: Closed Closed
Resolution: Done
Priority: Critical Critical
Assignee: Galder Zamarreno
Reporter: Galder Zamarreno
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JBoss Application Server

Transaction failover authorisation is broken within UnifiedInvokerHAProxy

Created: 07/Nov/07 02:25 PM   Updated: 14/May/08 07:02 AM
Component/s: Clustering , Remoting
Affects Version/s: JBossAS-5.0.0.Beta2 , JBossAS-4.2.2.GA
Fix Version/s: JBossAS-5.0.0.Beta3 , JBossAS-4.2.3.GA
Security Level: Public (Everyone can see)

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Issue Links:
Dependency
 
This issue is a dependency of:
JBAS-4455 LoadBalancePolicy that tries to pin a... Minor Closed
JBPAPP-410 Transaction failover authorisation is... Critical Resolved
Related
This issue related:
JBAS-4963 invocationHasReachedAServer calls wit... Major Open
 

Complexity: Medium


 Description  « Hide
UnifiedInvokerHAProxy.invoke() only calls invocationHasReachedAServer(Invocation invocation)
if GenericClusteringException is received and the exception is not GenericClusteringException.COMPLETED_NO

This is not correct because invocationHasReachedAServer(Invocation invocation) needs to be called on
successful returns as well. If we don't, the code never remembers that a call within a transaction was
successful and therefore, never adds the potential transaction (with JBAS-4455, this will transaction propagation context)
associated with the call to the failover map authorisations.

Example:
- ok call 1 within tx1
- ok call 2 within tx1
- ok call 3 within tx1
- fail call 4 with GenericClusteringException.COMPLETED_NO

None of the successfull calls updated the map, so when the 4 call occurs, txContextAllowsFailover(invocation) is called, but
the map is empty, so would allow failover when it shouldn't. A transaction reached the server already in any of the previous
calls associated with that transaction.

JRMPInvokerProxyHA does not have this issue.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order:
Galder Zamarreno [12/Nov/07 02:11 PM]
Fix and unit tests have been added to trunk.

Galder Zamarreno [13/Nov/07 01:14 PM]
Fix and unit tests have been added to 4.2.x.