On Mon, 2009-02-23 at 14:45 -0500, Kim van der Riet wrote:

> 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 must clarify one point:

Messages which are large (greater than the --staging-threshold limit)
can also be durable. All large messages are currently stored in BDB
externally to the async journal, and if they are durable will be
restored along with all other durable messages on recovery. Transient
(non-durable) messages will be discarded on recovery, even though they
were written to disk for memory/space reasons.

Kim


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to