You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Patrick Vansevenant (JIRA)" <ji...@apache.org> on 2016/12/07 21:51:58 UTC

[jira] [Updated] (AMQ-6530) A configured queuePrefetch of one in ActiveMQ 5.14.1 with AMQP 1.0 behaves like a queuePrefetch of two.

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

Patrick Vansevenant updated AMQ-6530:
-------------------------------------
    Attachment: JmsClientUnitTest.java
                activemq.xml

> A configured queuePrefetch of one in ActiveMQ 5.14.1 with AMQP 1.0 behaves like a queuePrefetch of two.
> -------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-6530
>                 URL: https://issues.apache.org/jira/browse/AMQ-6530
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 5.14.1
>            Reporter: Patrick Vansevenant
>         Attachments: JmsClientUnitTest.java, activemq.xml
>
>
> I'm talking about queues with a low message volume and high processing time. In such a setup is it important that messages are not "heaping up" in the dispatch queue. The queueprefetch must be one in order to keep it workable. 
> I have done a test with an ActiveMQ 5.14.1 broker and an AMQP consumer with a brokerURL configured with a queuePrefetch of one (jms.prefetchPolicy.queuePrefetch=1). 
> I have the impression that the Dispatched Queue contains two messages during the period that a message is received and the time the acknowledgement is sent (clientacknowlegde mode). 
> The consumer details in the ActiveMQ Web Console tells me that the "Dispatched Queue" contains indeed two messages at that moment in time what should maximum be one with a defined queuePrefetch of one. 
> When I do the same test with an ActiveMQ 5.13.3 broker then the Dispatched Queue contains maximum one message at any point in time, what is more correct in my opinion.
> I have created a unit test who shows the difference between ActiveMQ 5.13.3 and 5.14.1. The test consists of two asynchronous consumers and one sender. When the first consumer receives a first message then the onMessage thread will block before the message is acked. The second consumer should consume all the other messages.
> The unit test sends four messages. With ActiveMQ 5.13.3 are all the four messages consumed. With ActiveMQ 5.14.1 are only three of the four messages consumed because one of the messages stays in the Dispatched Queue. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)