qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Godfrey <rob.j.godf...@gmail.com>
Subject Re: 1 Queue with 2 Consumers - turn off pre-fetching?
Date Fri, 29 Aug 2014 23:01:20 GMT
On 30 August 2014 00:26, xiaodan.wang <xiaodan.wang@salesforce.com> wrote:

> Nope, the last version I pulled was from Tuesday. Will test with the latest
> and report back :)
> Two more questions regarding alternatives to achieving per session
> prefetching:
> 1) Does AMQP 1.0 resemble AMQP 0-10 or AMQP 0-91 in terms of per consumer
> vs
> per session prefetching?

AMQP 1.0 has a mixed model.  You can set a session level prefetch, which is
in terms of frames rather than messages... this is primarily intended for
efficient throughput management.  At each consumer there is the ability to
manage credit.  The real difference in 1.0 is that credit is always
maintained explicitly rather than being a window that is moved by
acknowledgement.  An AMQP 1.0 client would find it easier (I think) to
release prefetched messages and maintain what is essentially a time bound
(rather than space bound) prefetch.

> 2) Assuming that pre-consumer prefetching is used. Is it feasible for
> messages to expire from the prefetch buffer so that long running messages
> do
> not block indefinitely? For example having the broker expire/invalidate the
> client buffer after some preset time and redeliver the message. Then again
> the broker might not know what messages the client is actively working on.

Yes - that is possible and 1.0 provides more explicit mechanisms for doing
this (though they aren't implemented yet on either the client or broker
side).  As the client the issue you'd have to watch out for is that you
might do the work on a message only to have the "acknowledge" fail because
the broker expired your lease on the message.  AMQP 1.0 actually allows for
more explicit state management such that a client could potentially "lock"
the message once they start working on it rather than allowing the message
lease to be rescinded by the broker... again though we've not yet tried to
implement these more complex interaction patterns.

Hope this helps,

> Cheers! Dan
> --
> View this message in context:
> http://qpid.2158936.n2.nabble.com/Re-1-Queue-with-2-Consumers-turn-off-pre-fetching-tp6934582p7612830.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message