Author: gtully
Date: Tue Aug 17 11:10:14 2010
New Revision: 986264

URL: http://svn.apache.org/viewvc?rev=986264&view=rev
Log:
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

Modified:
    
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
    
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149KahaDBTest.java

Modified: 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java?rev=986264&r1=986263&r2=986264&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
 (original)
+++ 
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/store/kahadb/KahaDBStore.java
 Tue Aug 17 11:10:14 2010
@@ -105,7 +105,9 @@ public class KahaDBStore extends Message
     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;

Modified: 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149KahaDBTest.java
URL: 
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149KahaDBTest.java?rev=986264&r1=986263&r2=986264&view=diff
==============================================================================
--- 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149KahaDBTest.java
 (original)
+++ 
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/bugs/AMQ2149KahaDBTest.java
 Tue Aug 17 11:10:14 2010
@@ -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
     }
 }


Reply via email to