qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPIDJMS-86) AMQP 1.0 prefetch policy set to 0 by the broker results in no messages processed
Date Wed, 15 Jul 2015 16:55:05 GMT

    [ https://issues.apache.org/jira/browse/QPIDJMS-86?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14628350#comment-14628350
] 

Robbie Gemmell commented on QPIDJMS-86:
---------------------------------------

I'd suggest you try the current 5.12 snapshots to see how it behaves, and then raise the issue
over at ActiveMQ if you are still having problems, as this seems like a configuration or broker
issue. The client is giving the broker credit to send messages and the broker isn't using
it, likely because of the broker-side configuration you are setting.

> AMQP 1.0 prefetch policy set to 0 by the broker results in no messages processed
> --------------------------------------------------------------------------------
>
>                 Key: QPIDJMS-86
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-86
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.3.0
>            Reporter: Alex Plischke
>         Attachments: Screen Shot 2015-07-15 at 9.37.24 AM.png
>
>
> My broker's default prefetch policy is set to 0 (using ActiveMQ).
> When my queue consumer connects to the broker, the broker reports that the consumer has
indeed a prefetch of 0.
> The qpid client however, just uses the defaults defined in the JmsPrefetchPolicy class
(ergo, 1000 for the queue).
> So when the qpid client tries to decide whether it needs to poll or not in JmsMessageConsumer...
> {noformat}
>     protected void sendPullCommand(long timeout) throws JMSException {
>         if (messageQueue.isEmpty() && (getPrefetchSize() == 0 || isBrowser()))
{
>             connection.pull(getConsumerId(), timeout);
>         }
>     }
> {noformat}
> ... the if condition will be false, since the prefetch size returned here is 1000. Qpid
will therefore not poll and the broker not push either, resulting in no messages processed.
> My current workaround is that I have to set the prefetch size on the client as well.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message