[rhmessaging-commits] rhmessaging commits: r3920 - store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Thu Apr 22 11:00:21 EDT 2010


Author: rgemmell
Date: 2010-04-22 11:00:19 -0400 (Thu, 22 Apr 2010)
New Revision: 3920

Modified:
   store/trunk/java/bdbstore/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.

merged from java/0.5.x-dev r3847


Modified: store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
===================================================================
--- store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java	2010-04-22 14:59:19 UTC (rev 3919)
+++ store/trunk/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java	2010-04-22 15:00:19 UTC (rev 3920)
@@ -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