You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by wmene <wm...@stanford.edu> on 2007/04/12 23:57:15 UTC

Virtual Topics/Destinations and error handling

Say I'm using a virtual topic that has 20 subscribers.  I'm guessing as to
how this is implemented, but if a producer sends a message to the virtual
topic, is it copied to 20 separate queues?  If the messages are copied to
different queues, is this done in some sort of transaction on the broker? 
Say only 9 of the 20 queues get the copied message before a broker failure,
does this transaction fail, and are all copies rolled back?

Any help appreciated.


-- 
View this message in context: http://www.nabble.com/Virtual-Topics-Destinations-and-error-handling-tf3568566s2354.html#a9969261
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Virtual Topics/Destinations and error handling

Posted by James Strachan <ja...@gmail.com>.
On 4/12/07, wmene <wm...@stanford.edu> wrote:
>
> Say I'm using a virtual topic that has 20 subscribers.  I'm guessing as to
> how this is implemented, but if a producer sends a message to the virtual
> topic, is it copied to 20 separate queues?

Logically yes.

>  If the messages are copied to
> different queues, is this done in some sort of transaction on the broker?
> Say only 9 of the 20 queues get the copied message before a broker failure,
> does this transaction fail, and are all copies rolled back?

I'm trying to think of possible errors which could occur, but can't
think of too many. The 'send to 20 queues' typically always just works
unless there is a catastrophic hardware failure. The one improvement
we could make is that we should make the 'send to 20 queues' an
asynchronous operation so that there's only a single sync-to-disk; but
thats really just a performance optimisation.

Note that the producer of the message can be inside its own
transaction; so if the send to 11 queues actually fails, it can
rollback.

-- 

James
-------
http://radio.weblogs.com/0112098/