Bug 1025381 - exclusivity requirement on existing queue allows more than one receiver
exclusivity requirement on existing queue allows more than one receiver
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Unspecified Unspecified
high Severity high
: 3.0
: ---
Assigned To: Gordon Sim
Petr Matousek
: Regression
Depends On:
  Show dependency treegraph
Reported: 2013-10-31 11:02 EDT by Zdenek Kraus
Modified: 2015-01-21 07:52 EST (History)
5 users (show)

See Also:
Fixed In Version: qpid-cpp-0.22-25.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-01-21 07:52:19 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Apache JIRA QPID-5283 None None None Never

  None (edit)
Description Zdenek Kraus 2013-10-31 11:02:50 EDT
Description of problem:
On existing queue, when some receiver is still subscribed and new receiver requires exclusivity, both receivers are allowed to receive, without warning.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. service qpidd start
2. ./drain -f "q;{create:always}"
3. ./drain -f "q;{create:always, node:{x-declare:{exclusive:true}}}"

4. qpid-config queues
5. ./spout -c 10 "q"

Actual results:
Queue Name                                Attributes
6f798b03-43d9-4107-841c-7b966c9e640e:0.0  auto-del excl 
q                                         excl 

drain 1
Message(properties={spout-id:2f00d673-7c04-430c-91c6-77ed1a3880b1:0, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:fac137c3-9b52-4058-9d27-53834ccb7a30:2, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:8784d5da-11ed-49dc-ab2a-300a8f122286:4, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:05046b70-abbd-4167-8cf4-a9546ad0b46d:7, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:e354f138-c118-47fa-b4c0-6366bab268b3:8, x-amqp-0-10.routing-key:q}, content='')

drain 2
Message(properties={spout-id:34f66e59-3158-4f72-9503-1e378eadf59e:1, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:1003442d-be34-4b0c-a181-12adbd269e58:3, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:4bdedea7-5c03-47b4-82e2-6db6fa90b339:5, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:842955dd-a0ed-4c83-9059-09135060e799:6, x-amqp-0-10.routing-key:q}, content='')
Message(properties={spout-id:441d5dbf-f290-4751-b15f-6ba374085adc:9, x-amqp-0-10.routing-key:q}, content='')

Expected results:
1/ non-exclusive drain is kicked
2/ exclusive drain gets an exception

Additional info:
this behavior was not present at 2.3, because exclusivity was not able to be required afterwards.
Comment 2 Gordon Sim 2013-10-31 14:39:47 EDT
Fixed upstream: https://svn.apache.org/r1537579
Comment 3 Petr Matousek 2013-11-12 12:07:50 EST
This issue has been fixed (tested both amqp0-10/1.0). 
Verified on rhel6.4 (i386, x86_64).

packages used for testing:


Note You need to log in before you can comment on or make changes to this bug.