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