You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2008/08/04 20:57:37 UTC
Re: Admin: Moving messages from one queue to another.
On Wed, 2008-07-30 at 10:49 +0100, Gordon Sim wrote:
> Ted Ross wrote:
> > My two cents...
> >
> > I think this is an administrative function that is performed on-demand
> > and has no lasting affect on the normal operation of the broker (i.e. no
> > filters or redirects are used). I also think that this feature will be
> > used primarily as a diagnostic tool.
> >
> > Since messages are not modeled as management objects, this feature must
> > be coupled with a message-query feature. A management method (or set of
> > methods) can be implemented on queue objects to allow management users
> > to get information about the set of messages on a queue.
> [...]
> > This query feature can be used to provide visibility into the content of
> > a blocked or slow-moving queue.
>
> In 0-10 you can already 'browse' the messages on a queue using the
> not-acquired mode on your subscription. That could be a good way to
> address this feature.
>
> Though not yet implemented in the c++ broker, the arguments to subscribe
> can be used to specify a selector (which is what we want for JMS support
> anyway) that restricts the messages actually delivered for that
> subscription.
>
> A non-acquired message can be removed from the queue by acquiring it
> (and acknowledging if required).
>
> We could even add an option to the arguments for subscribe for
> indicating that only the headers should be delivered for that
> subscription if needed to reduce the amount of data that needed to be
> transfered (would perhaps only be valid in not-acquired mode).
>
> [...]
> > Note that message query and message move/copy will probably require that
> > the queue be locked during the duration of the operation so these may be
> > expensive features. It would be good to find a way to implement these
> > on a flowing queue without locking.
>
> Browsing and acquiring as described above will already implement any
> necessary locking.
+1. I'd argue this should be done by an admin client rather than
complicating the broker unless there is a compelling use case that is
impossible to support without broker changes.