| Summary: | exclusivity requirement on existing queue allows more than one receiver | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Zdenek Kraus <zkraus> |
| Component: | qpid-cpp | Assignee: | Gordon Sim <gsim> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Petr Matousek <pematous> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 3.0 | CC: | esammons, gsim, iboverma, jross, pematous |
| Target Milestone: | 3.0 | Keywords: | Regression |
| 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:52:19 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: | |
Fixed upstream: https://svn.apache.org/r1537579 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: 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): qpid-cpp-server-0.22-23 How reproducible: 100% 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 OR 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.