[rhmessaging-commits] rhmessaging commits: r3847 - store/branches/java/0.5.x-dev/src/main/java/org/apache/qpid/server/store/berkeleydb.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Feb 9 12:17:57 EST 2010


Author: ritchiem
Date: 2010-02-09 12:17:57 -0500 (Tue, 09 Feb 2010)
New Revision: 3847

Modified:
   store/branches/java/0.5.x-dev/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
Log:
Update to add deadlock debug options and to disable the LOWERING of the LockTimeout set in r2624. The default is 500000 r2624 set it to 15000. It is believed that this will address the current Deadlock issue that can be seen with simultaneous QueueBind calls. This is committed for testing purposes only on the multicore servers where this failure is currently manifesting.

Modified: store/branches/java/0.5.x-dev/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
===================================================================
--- store/branches/java/0.5.x-dev/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java	2010-02-05 20:25:05 UTC (rev 3846)
+++ store/branches/java/0.5.x-dev/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java	2010-02-09 17:17:57 UTC (rev 3847)
@@ -348,7 +348,18 @@
         envConfig.setAllowCreate(false);
         envConfig.setTransactional(true);
         envConfig.setConfigParam("je.lock.nLockTables", "7");
-        envConfig.setLockTimeout(15000);
+
+	// Restore 500,000 default timeout.	
+        //envConfig.setLockTimeout(15000);
+
+        // Added to help diagnosis of Deadlock issue
+        //
+        // http://www.oracle.com/technology/products/berkeley-db/faq/je_faq.html#23
+        if (Boolean.getBoolean("qpid.bdb.lock.debug"))
+        {
+            envConfig.setConfigParam("je.txn.deadlockStackTrace", "true");
+            envConfig.setConfigParam("je.txn.dumpLocks", "true");
+        }
         
         // Set transaction mode
         _transactionConfig.setReadCommitted(true);



More information about the rhmessaging-commits mailing list