On 4/12/07, wmene <[EMAIL PROTECTED]> 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/

Reply via email to