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);