[jboss-svn-commits] JBL Code SVN: r29834 - in labs/jbosstm/trunk: 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 Oct 27 08:54:14 EDT 2009


Author: jhalliday
Date: 2009-10-27 08:54:13 -0400 (Tue, 27 Oct 2009)
New Revision: 29834

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java
   labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
Log:
Streamline ActionManager to lessen lock contention under load. JBTM-632


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java	2009-10-27 11:18:01 UTC (rev 29833)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/ActionManager.java	2009-10-27 12:54:13 UTC (rev 29834)
@@ -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/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java	2009-10-27 11:18:01 UTC (rev 29833)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxStats.java	2009-10-27 12:54:13 UTC (rev 29834)
@@ -103,7 +103,7 @@
 	 */
 	public long getNumberOfInflightTransactions()
 	{
-		return ActionManager.manager().inflightTransactions().size();
+		return ActionManager.manager().getNumberOfInflightTransactions();
 	}
 
 	/**

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java	2009-10-27 11:18:01 UTC (rev 29833)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/subordinate/SubordinateTestCase.java	2009-10-27 12:54:13 UTC (rev 29834)
@@ -58,7 +58,7 @@
 			tm.doCommit();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
     @Test
@@ -71,7 +71,7 @@
 			tm.doRollback();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
     @Test
@@ -85,7 +85,7 @@
 			tm.doRollback();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
     @Test
@@ -98,7 +98,7 @@
 			tm.doOnePhaseCommit();
 		}
 
-		assertEquals(ActionManager.manager().inflightTransactions().size(), 0);
+		assertEquals(ActionManager.manager().getNumberOfInflightTransactions(), 0);
 	}
 
     /////////////



More information about the jboss-svn-commits mailing list