Bug 966703

Summary: Closing session that created exclusive queue does not alter QMF object for the queue as non-exclusive
Product: Red Hat Enterprise MRG Reporter: Pavel Moravec <pmoravec>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: POST --- QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.3CC: jross, pmoravec, zkraus
Target Milestone: ---Keywords: EasyFix, Patch, TestCaseProvided
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:
Attachments:
Description Flags
Trivial patch proposal none

Description Pavel Moravec 2013-05-23 17:51:07 UTC
Description of problem:
When a session creates an exclusive queue and then the session is closed, the queue is / should be marked as non-exclusive. While a consumer can subscribe to such queue (meaning the queue really isnt exclusive), qpid tools still show the queue as exclusive.

The reason is when cancelling the queue subscription, exclusive flag is reset properly but relevant QMF object isn't updated (see patch).


Version-Release number of selected component (if applicable):
0.18-14 (seems to be in upstream = 0.22 as well)


How reproducible:
100%


Steps to Reproduce:
1. Create an exclusive queue, and release all subscribers
/usr/share/doc/python-qpid-0.18/examples/api/drain "MyQueue; {create:receiver, node:{ x-declare:{ exclusive:true}}}"

2. check the queue exclusivity
qpid-config queues


Actual results:
# qpid-config queues
Queue Name                                Attributes
=================================================================
MyQueue                                   excl 
ae4588ea-6ddf-446c-a235-8073c1d83ace:0.0  auto-del excl 
#


Expected results:
# qpid-config queues
Queue Name                                Attributes
=================================================================
MyQueue                                    
ae4588ea-6ddf-446c-a235-8073c1d83ace:0.0  auto-del excl 
#


Additional info:
Patch to be provided.

Comment 2 Pavel Moravec 2013-05-24 10:23:52 UTC
Created attachment 752532 [details]
Trivial patch proposal

When releasing exclusive ownership of a queue, relevant QMF management object has to unset exclusive flag.

Comment 4 Pavel Moravec 2013-05-24 10:30:37 UTC
Btw. upstream has already fixed this in revision 1371676 (per http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?view=annotate and Queue::releaseExclusiveOwnership() method there).

Comment 5 Justin Ross 2013-05-24 12:10:17 UTC
I moved this to POST, but it may end up needing a narrower backport.

Comment 6 Mike McCune 2016-03-28 22:40:27 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions