[jboss-svn-commits] JBL Code SVN: r16793 - in labs/jbosstm/trunk: ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Nov 25 07:26:20 EST 2007


Author: mark.little at jboss.com
Date: 2007-11-25 07:26:20 -0500 (Sun, 25 Nov 2007)
New Revision: 16793

Modified:
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
   labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
Log:
http://jira.jboss.com/jira/browse/JBTM-307

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-11-25 11:50:13 UTC (rev 16792)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java	2007-11-25 12:26:20 UTC (rev 16793)
@@ -295,11 +295,25 @@
 			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;
+			switch (e1.errorCode)
+			{
+			case XAException.XAER_RMERR:
+			case XAException.XAER_RMFAIL:
+			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:
+			case XAException.XAER_INVAL:
+			case XAException.XAER_PROTO:
+			case XAException.XAER_NOTA: // resource may have arbitrarily rolled back (shouldn't, but ...)
+				return TwoPhaseOutcome.PREPARE_NOTOK;
+			default:
+				return TwoPhaseOutcome.HEURISTIC_HAZARD; // we're not really sure (shouldn't get here though).
+			}
 		}
 		catch (Exception e2)
 		{
@@ -1009,6 +1023,8 @@
 						 */
 						
 						return true;
+						
+						//return false;
 					}
 				}
 			}
@@ -1143,6 +1159,8 @@
 		RecoveryManager recMan = RecoveryManager.manager();
 		Vector recoveryModules = recMan.getModules();
 
+		System.err.println("**recoveryModules "+recoveryModules);
+		
 		if (recoveryModules != null)
 		{
 			Enumeration modules = recoveryModules.elements();

Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java	2007-11-25 11:50:13 UTC (rev 16792)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java	2007-11-25 12:26:20 UTC (rev 16793)
@@ -286,10 +286,25 @@
 			if (_rollbackOptimization) // won't have rollback called on it
 				removeConnection();
 			
-			if ((e1.errorCode == XAException.XAER_RMERR) || (e1.errorCode == XAException.XAER_RMFAIL))
-				throw new HeuristicHazard();
-
-			return Vote.VoteRollback;
+			switch (e1.errorCode)
+			{
+			case XAException.XAER_RMERR:
+			case XAException.XAER_RMFAIL:
+			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:
+			case XAException.XAER_INVAL:
+			case XAException.XAER_PROTO:
+			case XAException.XAER_NOTA: // resource may have arbitrarily rolled back (shouldn't, but ...)
+				return Vote.VoteRollback;
+			default:
+				throw new HeuristicHazard(); // we're not really sure (shouldn't get here though).
+			}
 		}
 		catch (Exception e2)
 		{




More information about the jboss-svn-commits mailing list