You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2019/05/14 05:39:18 UTC

[activemq] branch master updated: AMQ-7107 - Make QueueBrowsingTest and UsageBlockedDispatchTest succeed with ConcurrentStoreAndDispachQueues=false

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/master by this push:
     new 2eda327  AMQ-7107 - Make QueueBrowsingTest and UsageBlockedDispatchTest succeed with ConcurrentStoreAndDispachQueues=false
     new 1e1cd11  Merge pull request #318 from alanprot/AMQ-7107
2eda327 is described below

commit 2eda327abac8bd092e094b313314682cd9269e36
Author: Alan Protasio <al...@gmail.com>
AuthorDate: Wed Nov 21 11:01:19 2018 -0800

    AMQ-7107 - Make QueueBrowsingTest and UsageBlockedDispatchTest succeed with ConcurrentStoreAndDispachQueues=false
---
 ...eBrowsingDisableConcurrentStoreAndDispatchTest.java | 18 ++++++++++++++++++
 .../apache/activemq/usecases/QueueBrowsingTest.java    |  4 ++++
 ...kedDispatchConcurrentStoreAndDispatchFalseTest.java | 17 +++++++++++++++++
 .../activemq/usecases/UsageBlockedDispatchTest.java    | 15 ++++++++++-----
 4 files changed, 49 insertions(+), 5 deletions(-)

diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingDisableConcurrentStoreAndDispatchTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingDisableConcurrentStoreAndDispatchTest.java
new file mode 100644
index 0000000..5c7de8e
--- /dev/null
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingDisableConcurrentStoreAndDispatchTest.java
@@ -0,0 +1,18 @@
+package org.apache.activemq.usecases;
+
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
+
+import java.io.File;
+import java.io.IOException;
+
+public class QueueBrowsingDisableConcurrentStoreAndDispatchTest extends QueueBrowsingTest {
+    @Override
+    public BrokerService createBroker() throws IOException {
+        BrokerService broker = super.createBroker();
+        KahaDBPersistenceAdapter kahadb = new KahaDBPersistenceAdapter();
+        kahadb.setConcurrentStoreAndDispatchQueues(false);
+        broker.setPersistenceAdapter(kahadb);
+        return broker;
+    }
+}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingTest.java
index 29b6e72..19c1cb7 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/QueueBrowsingTest.java
@@ -201,6 +201,10 @@ public class QueueBrowsingTest {
             producer.send(session.createTextMessage(data));
         }
 
+        //Consume one message to free memory and allow the cursor to pageIn messages
+        MessageConsumer consumer = session.createConsumer(queue);
+        consumer.receive(1000);
+
         QueueBrowser browser = session.createBrowser(queue);
         Enumeration<?> enumeration = browser.getEnumeration();
         int received = 0;
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchConcurrentStoreAndDispatchFalseTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchConcurrentStoreAndDispatchFalseTest.java
new file mode 100644
index 0000000..48ff54d
--- /dev/null
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchConcurrentStoreAndDispatchFalseTest.java
@@ -0,0 +1,17 @@
+package org.apache.activemq.usecases;
+
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
+
+import java.io.IOException;
+
+public class UsageBlockedDispatchConcurrentStoreAndDispatchFalseTest  extends UsageBlockedDispatchTest {
+    @Override
+    protected BrokerService createBroker() throws IOException {
+        BrokerService broker = new BrokerService();
+        KahaDBPersistenceAdapter kahadb = new KahaDBPersistenceAdapter();
+        kahadb.setConcurrentStoreAndDispatchQueues(false);
+        broker.setPersistenceAdapter(kahadb);
+        return broker;
+    }
+}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java
index 7767672..dba73c1 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java
@@ -32,6 +32,7 @@ import org.apache.log4j.spi.LoggingEvent;
 
 import javax.jms.*;
 import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -48,14 +49,13 @@ public class UsageBlockedDispatchTest extends TestSupport {
     @Override
     public void setUp() throws Exception {
 
-        broker = new BrokerService();
+        broker = createBroker();
         broker.setDataDirectory("target" + File.separator + "activemq-data");
         broker.setPersistent(true);
         broker.setUseJmx(true);
         broker.setAdvisorySupport(false);
         broker.setDeleteAllMessagesOnStartup(true);
 
-        setDefaultPersistenceAdapter(broker);
         SystemUsage sysUsage = broker.getSystemUsage();
         sysUsage.getMemoryUsage().setLimit(100*1024);
 
@@ -75,6 +75,12 @@ public class UsageBlockedDispatchTest extends TestSupport {
         connectionUri = broker.getTransportConnectors().get(0).getPublishableConnectString();
     }
 
+    protected BrokerService createBroker() throws IOException {
+        BrokerService broker = new BrokerService();
+        setDefaultPersistenceAdapter(broker);
+        return broker;
+    }
+
     @Override
     public void tearDown() throws Exception {
         if (broker != null) {
@@ -125,8 +131,7 @@ public class UsageBlockedDispatchTest extends TestSupport {
         Session consumerSession = consumerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
         MessageConsumer consumer = consumerSession.createConsumer(willGetAPage);
 
-        Message m = consumer.receive(messageReceiveTimeout);
-        assertNotNull("got a message", m);
+        consumer.receive(messageReceiveTimeout);
 
         final AtomicBoolean gotExpectedLogEvent = new AtomicBoolean(false);
         Appender appender = new DefaultTestAppender() {
@@ -144,7 +149,7 @@ public class UsageBlockedDispatchTest extends TestSupport {
 
             MessageConsumer noDispatchConsumer = consumerSession.createConsumer(shouldBeStuckForDispatch);
 
-            m = noDispatchConsumer.receive(messageReceiveTimeout);
+            Message m = noDispatchConsumer.receive(messageReceiveTimeout);
             assertNull("did not get a message", m);
 
             assertTrue("Got the new warning about the blocked cursor", gotExpectedLogEvent.get());