Bug 1024957 - [amqp1.0] receiver may consume from queue that is exclusive for another session
[amqp1.0] receiver may consume from queue that is exclusive for another session
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Development
Unspecified Unspecified
unspecified Severity high
: 3.0
: ---
Assigned To: Gordon Sim
Petr Matousek
:
Depends On:
Blocks: 1010399
  Show dependency treegraph
 
Reported: 2013-10-30 12:08 EDT by Petr Matousek
Modified: 2015-01-21 07:57 EST (History)
4 users (show)

See Also:
Fixed In Version: qpid-cpp-0.22-25.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-01-21 07:57:03 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
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-5279 None None None Never

  None (edit)
Description Petr Matousek 2013-10-30 12:08:55 EDT
Description of problem:

When a queue is declared to be exclusive, the queue shall not be available to any other consumers until the session that declared the queue has been closed. 

Using amqp1.0 the queue is available for another consumers(using different session) even if declared exclusive.

Note: amqp0-10 consumer is refused on amqp1.0 declared exclusive queue as expected with the following exception:
resource-locked: resource-locked: Cannot subscribe to exclusive queue q

Version-Release number of selected component (if applicable):
qpid-cpp-*-0.22-23.el6

How reproducible:
100%

Steps to Reproduce:
1. drain -t 30 --connection-options "{protocol: 'amqp1.0'}" "q;{create:receiver, node:{properties:{'exclusive': True}}}" & 
2. $cppapi/drain  --connection-options "{protocol: 'amqp1.0'}" q
3. the second receiver succeeds subscribing to exclusive queue

Actual results:
amqp1.0 receiver may consume from queue that is exclusive (locked to other session)

Expected results:
Exception is thrown due to the resource is locked

Additional info:

# $cppapi/spout -c 100 "q;{create:always}"
# $cppapi/drain -t 30 -c 100 --connection-options "{protocol: 'amqp1.0'}" "q;{node:{properties:{'exclusive': True}}, create:always}" >1 & 
[1] 24226
# $cppapi/drain  --connection-options "{protocol: 'amqp1.0'}" q >2
# cat 1 | wc -l
53
# cat 2 | wc -l
47
# qpid-config queues
Queue Name                                Attributes
=================================================================
d44c676b-2e10-4eae-bbb6-394a551cd7ea:0.0  auto-del excl 
q                                         excl
Comment 1 Gordon Sim 2013-10-31 10:10:49 EDT
Fixed upstream: https://svn.apache.org/r1537496
Comment 2 Petr Matousek 2013-11-12 12:08:02 EST
This issue has been fixed (tested both amqp0-10/1.0). 
Verified on rhel6.4 (i386, x86_64).

packages used for testing:
qpid-cpp-*-0.22-25.el6

-> VERIFIED

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