[jboss-svn-commits] JBL Code SVN: r32444 - in labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP: ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Apr 6 08:34:04 EDT 2010


Author: jhalliday
Date: 2010-04-06 08:34:04 -0400 (Tue, 06 Apr 2010)
New Revision: 32444

Modified:
   labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java
   labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java
   labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
Log:
Backport ActionManager lock contention fix to CP branch. JBTM-632


Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java	2010-04-06 12:25:30 UTC (rev 32443)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java	2010-04-06 12:34:04 UTC (rev 32444)
@@ -35,6 +35,8 @@
 
 import java.util.Collection;
 import java.util.Hashtable;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 /*
  * @author Mark Little (mark_little at hp.com)
@@ -80,7 +82,7 @@
 
 	public BasicAction get(Uid id)
 	{
-		Lifetime lt = (Lifetime) _allActions.get(id);
+		Lifetime lt = _allActions.get(id);
 		
 		if (lt != null)
 			return lt.getAction();
@@ -90,7 +92,7 @@
 
 	public long getTimeAdded (Uid id)
 	{
-		Lifetime lt = (Lifetime) _allActions.get(id);
+		Lifetime lt = _allActions.get(id);
 		
 		if (lt != null)
 			return lt.getTimeAdded();
@@ -103,10 +105,10 @@
 		_allActions.remove(id);
 	}
 
-	public Collection inflightTransactions ()
-	{
-		return _allActions.values();
-	}
+    public int getNumberOfInflightTransactions()
+    {
+        return _allActions.size();
+    }
 	
 	private ActionManager()
 	{
@@ -114,6 +116,5 @@
 
 	private static final ActionManager _theManager = new ActionManager();
 
-	private static final Hashtable _allActions = new Hashtable();
-
+	private static final Map<Uid, Lifetime> _allActions = new ConcurrentHashMap<Uid, Lifetime>();
 }

Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java	2010-04-06 12:25:30 UTC (rev 32443)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java	2010-04-06 12:34:04 UTC (rev 32444)
@@ -111,7 +111,7 @@
 	
 	public static int numberOfInflightTransactions ()
 	{
-		return ActionManager.manager().inflightTransactions().size();
+		return ActionManager.manager().getNumberOfInflightTransactions();
 	}
 
 	/**

Modified: labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java	2010-04-06 12:25:30 UTC (rev 32443)
+++ labs/jbosstm/branches/JBOSSTS_4_6_1_GA_CP/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java	2010-04-06 12:34:04 UTC (rev 32444)
@@ -56,7 +56,7 @@
 			tm.doCommit();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
 	public void testCleanupRollback () throws Exception
@@ -68,7 +68,7 @@
 			tm.doRollback();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
 	public void testCleanupSecondPhaseRollback () throws Exception
@@ -81,7 +81,7 @@
 			tm.doRollback();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
 	public void testCleanupOnePhaseCommit () throws Exception
@@ -93,7 +93,7 @@
 			tm.doOnePhaseCommit();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
     /////////////



More information about the jboss-svn-commits mailing list