[jboss-svn-commits] JBL Code SVN: r8915 - labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 19 05:33:58 EST 2007


Author: mark.little at jboss.com
Date: 2007-01-19 05:33:57 -0500 (Fri, 19 Jan 2007)
New Revision: 8915

Modified:
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
Log:
removed support for non-XA db interpretation of RMERR.

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java	2007-01-18 23:27:13 UTC (rev 8914)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java	2007-01-19 10:33:57 UTC (rev 8915)
@@ -288,6 +288,9 @@
 			if (_rollbackOptimization) // won't have rollback called on it
 				removeConnection();
 
+			if ((e1.errorCode == XAException.XAER_RMERR) || (e1.errorCode == XAException.XAER_RMFAIL))
+				return TwoPhaseOutcome.HEURISTIC_HAZARD;
+			
 			return TwoPhaseOutcome.PREPARE_NOTOK;
 		}
 		catch (Exception e2)
@@ -403,9 +406,15 @@
 							return TwoPhaseOutcome.HEURISTIC_COMMIT;
 						case XAException.XA_HEURMIX:
 							return TwoPhaseOutcome.HEURISTIC_MIXED;
-						case XAException.XA_HEURRB:
+						case XAException.XA_HEURRB: // forget?
 						case XAException.XA_RBROLLBACK:
 						case XAException.XA_RBEND:
+						case XAException.XA_RBCOMMFAIL:
+						case XAException.XA_RBDEADLOCK:
+						case XAException.XA_RBINTEGRITY:
+						case XAException.XA_RBOTHER:
+						case XAException.XA_RBPROTO:
+						case XAException.XA_RBTIMEOUT:
 							break;
 						default:
 							return TwoPhaseOutcome.FINISH_ERROR;
@@ -505,12 +514,20 @@
 					
 						switch (e1.errorCode)
 						{
-						case XAException.XAER_RMERR:
 						case XAException.XA_HEURHAZ:
 							return TwoPhaseOutcome.HEURISTIC_HAZARD;
-						case XAException.XA_HEURCOM:
+						case XAException.XA_HEURCOM:  // what about forget? OTS doesn't support this code here.
 							break;
 						case XAException.XA_HEURRB:
+						case XAException.XA_RBROLLBACK:
+						case XAException.XA_RBCOMMFAIL:
+						case XAException.XA_RBDEADLOCK:
+						case XAException.XA_RBINTEGRITY:
+						case XAException.XA_RBOTHER:
+						case XAException.XA_RBPROTO:
+						case XAException.XA_RBTIMEOUT:
+						case XAException.XA_RBTRANSIENT:
+						case XAException.XAER_RMERR:
 							return TwoPhaseOutcome.HEURISTIC_ROLLBACK;
 						case XAException.XA_HEURMIX:
 							return TwoPhaseOutcome.HEURISTIC_MIXED;
@@ -518,6 +535,7 @@
 						case XAException.XAER_PROTO:
 							break;
 						case XAException.XAER_INVAL:
+						case XAException.XA_RETRY:
 						case XAException.XAER_RMFAIL: // resource manager
 													  // failed, did it
 													  // rollback?




More information about the jboss-svn-commits mailing list