[
https://issues.apache.org/jira/browse/AMQ-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish updated AMQ-1725:
------------------------------
Description:
Variants of the activemq-core
testMessageListenerUnackedWithPrefetch1StayInQueue test fail checking the
ordering of messages and they should not for ackMode!=DUPS_OK_ACK
the test does not fail because the assertion kills the message dispatch task
thread. The stack Trace is visible on the console.
junit.framework.ComparisonFailure:
testMessageListenerUnackedWithPrefetch1StayInQueue {deliveryMode=2, ackMode=1,
destinationType=1} verify ordering expected:<2> but was:<1>
at junit.framework.Assert.assertEquals(Assert.java:81)
at
org.apache.activemq.JMSConsumerTest$5.onMessage(JMSConsumerTest.java:361)
at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:967)
at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122)
at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
applying the following diff helps identify the tests that fail:
{noformat}
Index: src/test/java/org/apache/activemq/JMSConsumerTest.java
===================================================================
--- src/test/java/org/apache/activemq/JMSConsumerTest.java (revision
655936)
+++ src/test/java/org/apache/activemq/JMSConsumerTest.java (working copy)
@@ -290,6 +290,13 @@
addCombinationValues("destinationType", new Object[]
{Byte.valueOf(ActiveMQDestination.QUEUE_TYPE)});
}
+ public void testA() throws Exception {
+ deliveryMode = Integer.valueOf(DeliveryMode.NON_PERSISTENT);
+ ackMode = Integer.valueOf(Session.AUTO_ACKNOWLEDGE);
+ destinationType = Byte.valueOf(ActiveMQDestination.QUEUE_TYPE);
+ testMessageListenerUnackedWithPrefetch1StayInQueue();
+ }
+
public void testMessageListenerUnackedWithPrefetch1StayInQueue() throws
Exception {
final AtomicInteger counter = new AtomicInteger(0);
@@ -351,7 +358,7 @@
try {
TextMessage tm = (TextMessage)m;
LOG.info("Got in second listener: " + tm.getText());
- assertEquals("" + counter.get(), tm.getText());
+ assertEquals(getName() + " verify ordering", "" +
counter.get(), tm.getText());
counter.incrementAndGet();
if (counter.get() == 4) {
done2.countDown();
{noformat}
was:
Variants of the activemq-core
testMessageListenerUnackedWithPrefetch1StayInQueue test fail checking the
ordering of messages and they should not for ackMode!=DUPS_OK_ACK
the test does not fail because the assertion kills the message dispatch task
thread. The stack Trace is visible on the console.
junit.framework.ComparisonFailure:
testMessageListenerUnackedWithPrefetch1StayInQueue {deliveryMode=2, ackMode=1,
destinationType=1} verify ordering expected:<2> but was:<1>
at junit.framework.Assert.assertEquals(Assert.java:81)
at
org.apache.activemq.JMSConsumerTest$5.onMessage(JMSConsumerTest.java:361)
at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:967)
at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122)
at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
applying the following diff helps identify the tests that fail:
Index: src/test/java/org/apache/activemq/JMSConsumerTest.java
===================================================================
--- src/test/java/org/apache/activemq/JMSConsumerTest.java (revision
655936)
+++ src/test/java/org/apache/activemq/JMSConsumerTest.java (working copy)
@@ -290,6 +290,13 @@
addCombinationValues("destinationType", new Object[]
{Byte.valueOf(ActiveMQDestination.QUEUE_TYPE)});
}
+ public void testA() throws Exception {
+ deliveryMode = Integer.valueOf(DeliveryMode.NON_PERSISTENT);
+ ackMode = Integer.valueOf(Session.AUTO_ACKNOWLEDGE);
+ destinationType = Byte.valueOf(ActiveMQDestination.QUEUE_TYPE);
+ testMessageListenerUnackedWithPrefetch1StayInQueue();
+ }
+
public void testMessageListenerUnackedWithPrefetch1StayInQueue() throws
Exception {
final AtomicInteger counter = new AtomicInteger(0);
@@ -351,7 +358,7 @@
try {
TextMessage tm = (TextMessage)m;
LOG.info("Got in second listener: " + tm.getText());
- assertEquals("" + counter.get(), tm.getText());
+ assertEquals(getName() + " verify ordering", "" +
counter.get(), tm.getText());
counter.incrementAndGet();
if (counter.get() == 4) {
done2.countDown();
> org.apache.activemq.JMSConsumerTest.testMessageListenerUnackedWithPrefetch1StayInQueue
> fails for ackMode != dups_ok
> -------------------------------------------------------------------------------------------------------------------
>
> Key: AMQ-1725
> URL: https://issues.apache.org/jira/browse/AMQ-1725
> Project: ActiveMQ
> Issue Type: Test
> Components: Test Cases
> Affects Versions: 5.1.0
> Reporter: Gary Tully
> Priority: Minor
> Fix For: NEEDS_REVIEWED
>
>
> Variants of the activemq-core
> testMessageListenerUnackedWithPrefetch1StayInQueue test fail checking the
> ordering of messages and they should not for ackMode!=DUPS_OK_ACK
> the test does not fail because the assertion kills the message dispatch task
> thread. The stack Trace is visible on the console.
> junit.framework.ComparisonFailure:
> testMessageListenerUnackedWithPrefetch1StayInQueue {deliveryMode=2,
> ackMode=1, destinationType=1} verify ordering expected:<2> but was:<1>
> at junit.framework.Assert.assertEquals(Assert.java:81)
> at
> org.apache.activemq.JMSConsumerTest$5.onMessage(JMSConsumerTest.java:361)
> at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:967)
> at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122)
> at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> at java.lang.Thread.run(Thread.java:595)
> applying the following diff helps identify the tests that fail:
> {noformat}
> Index: src/test/java/org/apache/activemq/JMSConsumerTest.java
> ===================================================================
> --- src/test/java/org/apache/activemq/JMSConsumerTest.java (revision
> 655936)
> +++ src/test/java/org/apache/activemq/JMSConsumerTest.java (working copy)
> @@ -290,6 +290,13 @@
> addCombinationValues("destinationType", new Object[]
> {Byte.valueOf(ActiveMQDestination.QUEUE_TYPE)});
> }
> + public void testA() throws Exception {
> + deliveryMode = Integer.valueOf(DeliveryMode.NON_PERSISTENT);
> + ackMode = Integer.valueOf(Session.AUTO_ACKNOWLEDGE);
> + destinationType = Byte.valueOf(ActiveMQDestination.QUEUE_TYPE);
> + testMessageListenerUnackedWithPrefetch1StayInQueue();
> + }
> +
> public void testMessageListenerUnackedWithPrefetch1StayInQueue() throws
> Exception {
> final AtomicInteger counter = new AtomicInteger(0);
> @@ -351,7 +358,7 @@
> try {
> TextMessage tm = (TextMessage)m;
> LOG.info("Got in second listener: " + tm.getText());
> - assertEquals("" + counter.get(), tm.getText());
> + assertEquals(getName() + " verify ordering", "" +
> counter.get(), tm.getText());
> counter.incrementAndGet();
> if (counter.get() == 4) {
> done2.countDown();
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira