On 09/12/2014 09:50 AM, Flavio Percoco wrote:
Zaqar supports once and only once delivery.

For the transfer from Zaqar to consumers it does (providing the claim id can be recovered). For transfer from producers to Zaqar I believe it is more limited.

If the connection to Zaqar fails during a post, the sender can't tell whether the message was successfully enqueued or not.

It could try to determine this is by browsing the entire queue looking for a matching body. However thatt would be awkward and in any case the absence of the message could mean that it wasn't enqueued or that it was already consumed and deleted.

One way of handling this is to have the post return a unique url to which the message(s) are put or posted. The sender can then repost (re-put) to this in the event of failure and the server can determine whether it already processed the publications. Alternatively the client can be required to generate a unique id on which the server can de-deduplicate.

The ActiveMQ REST interface supports both of these approaches: http://activemq.apache.org/restful-queue.html

OpenStack-dev mailing list

Reply via email to