[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