qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Greig" <robert.j.gr...@gmail.com>
Subject Re: Message history and replay
Date Thu, 18 Jan 2007 16:23:22 GMT
On 18/01/07, Colin Crist <colincrist@hermesjms.com> wrote:
> A common recovery scenario is requesting replay on a queue from a given,
> known message, either by its ID or by something in the header. Its saves all
> that mucking about with XA and makes recovery the normal way of system
> startup rather then some exceptional case.

Yes - let's just design our systems to handle duplicate and out of
order delivery and we can avoid XA in most cases.

> As a user, I would also like to control when messages get removed as part of
> my end of day or even weekly processs, probably based on header property
> selectors.

Yes, very interesting and useful use case. It would improve throughput
for many apps since people would not have to commit the whole message
to their database before sending it to the message broker.

> I don't believe this is supported in AMQP in the wire protocol (nor perhaps
> should it be) - is it maybe something that could be done via some
> standardised command messages to a "replay" exchange?

> Any thoughts on implementation difficulty?

In terms of our underlying architecture, this would be relatively
easy. We have a delivery table that simply maps from message id to
queue, and the message is stored separately. Messages are removed
automatically when a ref count hits zero. The removal process is
actually handled in the store module so it could do something else
easily (e.g if you had a custom store).

The admin API could be enhanced to support re-enqueuing of message ids
or hard delete of messages.


View raw message