[infinispan-commits] Infinispan SVN: r2353 - in branches/4.2.x/core/src/main: resources/config-samples and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Mon Sep 13 11:25:37 EDT 2010


Author: mircea.markus
Date: 2010-09-13 11:25:37 -0400 (Mon, 13 Sep 2010)
New Revision: 2353

Modified:
   branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java
   branches/4.2.x/core/src/main/resources/config-samples/all.xml
Log:
[ISPN-373] - Deadlock between lock and put under heavy concurrency

Modified: branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java
===================================================================
--- branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java	2010-09-13 13:49:22 UTC (rev 2352)
+++ branches/4.2.x/core/src/main/java/org/infinispan/transaction/xa/TransactionTable.java	2010-09-13 15:25:37 UTC (rev 2353)
@@ -28,6 +28,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.RejectedExecutionException;
@@ -44,9 +45,9 @@
    private static final Log log = LogFactory.getLog(TransactionTable.class);
    private static boolean trace = log.isTraceEnabled();
 
-   private final Map<Transaction, TransactionXaAdapter> localTransactions = new HashMap<Transaction, TransactionXaAdapter>();
+   private final Map<Transaction, TransactionXaAdapter> localTransactions = new ConcurrentHashMap<Transaction, TransactionXaAdapter>();
 
-   private final Map<GlobalTransaction, RemoteTransaction> remoteTransactions = new HashMap<GlobalTransaction, RemoteTransaction>();
+   private final Map<GlobalTransaction, RemoteTransaction> remoteTransactions = new ConcurrentHashMap<GlobalTransaction, RemoteTransaction>();
 
    private CommandsFactory commandsFactory;
    private Configuration configuration;

Modified: branches/4.2.x/core/src/main/resources/config-samples/all.xml
===================================================================
--- branches/4.2.x/core/src/main/resources/config-samples/all.xml	2010-09-13 13:49:22 UTC (rev 2352)
+++ branches/4.2.x/core/src/main/resources/config-samples/all.xml	2010-09-13 15:25:37 UTC (rev 2353)
@@ -74,14 +74,14 @@
             useLockStriping="true"
             />
 
-      <!--
+      <!--                                 //http://community.jboss.org/wiki/LockingandConcurrency#Locking_a_single_remote_node
       Used to register a transaction manager and participate in ongoing transactions.
       -->
       <transaction
             transactionManagerLookupClass="org.infinispan.transaction.lookup.GenericTransactionManagerLookup"
             syncRollbackPhase="false"
             syncCommitPhase="false"
-            useEagerLocking="false" eagerLockSingleNode="true"/>
+            useEagerLocking="true" eagerLockSingleNode="true"/>
 
       <!--
       Used to register JMX statistics in any available MBean server



More information about the infinispan-commits mailing list