Bug 1024957
| Summary: | [amqp1.0] receiver may consume from queue that is exclusive for another session | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Petr Matousek <pematous> |
| Component: | qpid-cpp | Assignee: | Gordon Sim <gsim> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Petr Matousek <pematous> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | Development | CC: | esammons, gsim, iboverma, jross |
| Target Milestone: | 3.0 | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| 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 12:57:03 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1010399 | ||
Fixed upstream: https://svn.apache.org/r1537496 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 |
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