You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Torsten Mielke (JIRA)" <ji...@apache.org> on 2011/06/23 12:08:47 UTC

[jira] [Updated] (AMQ-3375) stomp consumer might not receive all msgs of a queue

     [ https://issues.apache.org/jira/browse/AMQ-3375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Torsten Mielke updated AMQ-3375:
--------------------------------

    Attachment: stomp-testcase.tgz

Attaching a test case in JUnit format. It may take a number of test runs before this test case fails (10 < x < 20).
For a description of the test case, have a read over the class documentation in src/test/resources/org/apache/activemq/transport/stomp/StompVirtualTopicTest.java.

The test case uses an embedded broker but I have the feeling the problem is easier reproduced using an external broker with the config src/test/resources/StompVirtualTopicTest.xml. It also makes it easier to attach jconsole.

To run the test case simply call mvn test.

> stomp consumer might not receive all msgs of a queue
> ----------------------------------------------------
>
>                 Key: AMQ-3375
>                 URL: https://issues.apache.org/jira/browse/AMQ-3375
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.5.0
>         Environment: stomp consumer on virtual destination 
> Tested on Ubuntu 10.10 and MacOSX using java 6.
>            Reporter: Torsten Mielke
>              Labels: stomp, virtualTopic
>         Attachments: stomp-testcase.tgz
>
>
> Have a testcase that connects a Java stomp consumer to a virtual destination queue and consumes a fixed amount of msgs.
> During the test I noticed that the consumer does not always receive the full amount of msgs.
> Instead the receive times out although JMX QueueSize property is greater than 0. However when trying to browse the queue using JMX, it returns null, despite the fact that not all msgs got dequeued yet (dispatch and dequeue counter < enqueue counter).
> So far I reproduced this with a stomp producer/consumer only. The producer writes msgs to a virtual topic VirtualTopic.Foo and the consumer takes msgs off the Consumer.A.VirtualTopic.Foo queue. Using JMX I noticed all msgs got moved from the virtual topic to the queue (reflected by JMX enqueue counter) but not all msgs got consumed.
> So it seems the broker lost some msgs on the way. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira