When multiple queues are bound to a topic exchange and one of the queues is full enough to cause flow-to-disk to be invoked, all messages to the exchange are dropped and none of the bound queues receive the messages. Here's the syslog output showing the broker recovering from this condition: Dec 18 14:29:54 north-15 qpidd[27188]: 2008-dec-18 14:29:54 warning Message 842097 on topic-dhcp-100-18-135.bos.redhat.com.22242 cannot be released from memory as the queue is not durable Dec 18 14:30:04 north-15 qpidd[27188]: 2008-dec-18 14:30:04 warning Message 842098 on topic-dhcp-100-18-135.bos.redhat.com.22242 cannot be released from memory as the queue is not durable Dec 18 14:30:14 north-15 qpidd[27188]: 2008-dec-18 14:30:14 warning Message 842099 on topic-dhcp-100-18-135.bos.redhat.com.22242 cannot be released from memory as the queue is not durable Dec 18 14:30:24 north-15 qpidd[27188]: 2008-dec-18 14:30:24 info Queue size within policy for topic-dhcp-100-18-135.bos.redhat.com.22242
Addressing this requires richer queue policies allowing messages to be dropped (can be done at present in limited form through use of ring queue) or dead-lettered when limit is reached, perhaps also allowing the option of terminating subscribed sessions for the overflowing queue.
There are now various means for configuring and controlling this.