On Mon, 2009-02-23 at 09:24 -0800, ffrenchm wrote: > Is there any way to force the flow-to-disk option for all messages which are > putted in this queue ? >
Perhaps a terminology misunderstanding? Messages which are important and which must be recovered in the event of a broker failure must be marked durable, and be sent to a queue which has also been set to durable. These messages are always written to disk before they may be consumed, and will be recovered in the event of a broker failure. This is the normal mode to use for reliable messaging. Flow-to-disk is used to send messages to disk which are transient (ie do NOT need to be written to disk for reliability) when broker resources are running low. If you have lots of transient messages waiting to be consumed, then at some point, these messages can also be written to disk, and the memory freed. When those messages are consumed, their content must first be read from the disk to restore the memory content, then sent to the consumer. These flow-to-disk messages are NOT recovered in the event of a failure. Flow-to-disk is not recommended for regular operation of the broker as it incurs a significant performance penalty. It is intended to be used as a last resort to manage a possible low memory condition. Flow-to-disk is controlled by setting broker limits on the cumulative size of messages on a queue (--default-queue-limit) and/or the message size of any single message (--staging-threshold). Note that flow-to-disk works only on durable queues. I'm not sure why you would want to force flow-to-disk for all messages unless you mean that they should all be durable. > > ffrenchm wrote: > > > > > > > > Kim van der Riet wrote: > >> > >> > >> This store is only asynchronous. Although BDB is still used, it is no > >> longer on the message path for normal usage patterns - ie no message > >> data is stored in BDB. However, BDB will be used if flow-to-disk is > >> triggered, either because the messages are too large or other conditions > >> that may trigger this condition. All message content and transactions > >> are no stored in the async journal. > >> > >> I hope this helps, > >> Kim > >> > >> > > > > Thanks Kim, another question for you : I'm currently using JMS to create > > queue 'test-queue' (in fact I reuse your bench tools). I already read this > > page http://qpid.apache.org/cheat-sheet-for-configuring-queue-options.html > > which explains how we can set the flow to disk option for a queue. But > > there is only C++ API sample. Is there any way to define the queue options > > thanks JMS API ? If not I've maybe an idea ;) > > > > ++ > > > Sorry, my knowledge of JMS is non-existent, I have no idea on this question. Kim --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:[email protected]
