follow on from resolution to test case, disable concurrentStoreAndDispatchTopics by default as it can lead to the store and cursor getting out of order and when the cache is exhausted, messages can potentially be missed. https://issues.apache.org/activemq/browse/AMQ-2864

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@986264 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gary Tully 2010-08-17 11:10:14 +00:00
parent 4de6878919
commit e7503f147f
2 changed files with 4 additions and 5 deletions

View File

@ -105,7 +105,9 @@ public class KahaDBStore extends MessageDatabase implements PersistenceAdapter {
Semaphore globalQueueSemaphore;
Semaphore globalTopicSemaphore;
private boolean concurrentStoreAndDispatchQueues = true;
private boolean concurrentStoreAndDispatchTopics = true;
// when true, message order may be compromised when cache is exhausted if store is out
// or order w.r.t cache
private boolean concurrentStoreAndDispatchTopics = false;
private boolean concurrentStoreAndDispatchTransactions = false;
private int maxAsyncJobs = MAX_ASYNC_JOBS;
private final KahaDBTransactionStore transactionStore;

View File

@ -17,14 +17,11 @@
package org.apache.activemq.bugs;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
public class AMQ2149KahaDBTest extends AMQ2149Test {
@Override
protected void configurePersistenceAdapter(BrokerService brokerService) throws Exception {
// nothing to do as kahaDB is now the default
KahaDBPersistenceAdapter kahaDB = (KahaDBPersistenceAdapter) brokerService.getPersistenceAdapter();
kahaDB.setConcurrentStoreAndDispatchTopics(false);
// nothing to do as kahaDB is now the default and concurrent store and dispatch topics defaults to false
}
}