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