Bug 477036

Summary: Denial of Service - One backed-up queue on a topic exchange causes messages to be dropped
Product: Red Hat Enterprise MRG Reporter: Ted Ross <tross>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED NOTABUG QA Contact: Frantisek Reznicek <freznice>
Severity: high Docs Contact:
Priority: medium    
Version: 1.1CC: esammons, gsim, jross, tross
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-23 15:51:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ted Ross 2008-12-18 19:55:22 UTC
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

Comment 1 Gordon Sim 2009-01-02 12:53:24 UTC
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.

Comment 3 Gordon Sim 2014-01-23 15:51:19 UTC
There are now various means for configuring and controlling this.