Bug 1065872
Summary: | Topic subscriptions should not ignore auto-delete x-declare flag | ||
---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Pavel Moravec <pmoravec> |
Component: | qpid-cpp | Assignee: | Pavel Moravec <pmoravec> |
Status: | CLOSED ERRATA | QA Contact: | Eric Sammons <esammons> |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | 3.0 | CC: | esammons, jross, pematous |
Target Milestone: | 3.1 | Keywords: | Patch, TestCaseProvided |
Target Release: | --- | ||
Hardware: | All | ||
OS: | All | ||
URL: | https://bugzilla.redhat.com/show_bug.cgi?id=1064937 | ||
Whiteboard: | |||
Fixed In Version: | qpid-cpp-0.30-2 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-04-14 13:47:26 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: |
Description
Pavel Moravec
2014-02-17 07:38:38 UTC
Committed revision 1574119. On 64b architecture the issue can be verified, but on the 32b arch. the issue is still present: 1. qpid-receive -a "amq.direct/#; {link: {x-declare:{'auto-delete':False}}}" -m 1 -f 2. qpid-stat -q | egrep '(queue|=|direct)' queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ================================================================================================================================ amq.direct_bad38732-af89-480e-bf7a-ae953e53db27 Y 0 0 0 0 0 0 1 2 3. ./qpid-send -a "amq.direct/#" -m 1 4. qpid-stat -q | egrep '(queue|=|direct)' queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================================================================= # empty (In reply to vhubeika from comment #3) > On 64b architecture the issue can be verified, but on the 32b arch. the > issue is still present: > > 1. qpid-receive -a "amq.direct/#; {link: {x-declare:{'auto-delete':False}}}" > -m 1 -f > 2. qpid-stat -q | egrep '(queue|=|direct)' > queue dur autoDel excl msg > msgIn msgOut bytes bytesIn bytesOut cons bind > > ============================================================================= > =================================================== > amq.direct_bad38732-af89-480e-bf7a-ae953e53db27 Y 0 > 0 0 0 0 0 1 2 > > 3. ./qpid-send -a "amq.direct/#" -m 1 > > 4. qpid-stat -q | egrep '(queue|=|direct)' > queue dur autoDel excl msg msgIn > msgOut bytes bytesIn bytesOut cons bind > > ============================================================================= > ============================================ > # empty Please what failed here? Topic subscription created by qpid-receive set auto-delete flag properly (amq.direct_bad38732-af89-480e-bf7a-ae953e53db27 queue was not auto-delete queue, so that is right). qpid-send as a message producer does not create any subscription or queue. (In reply to Pavel Moravec from comment #4) > (In reply to vhubeika from comment #3) > > On 64b architecture the issue can be verified, but on the 32b arch. the > > issue is still present: > > > > 1. qpid-receive -a "amq.direct/#; {link: {x-declare:{'auto-delete':False}}}" > > -m 1 -f > > 2. qpid-stat -q | egrep '(queue|=|direct)' > > queue dur autoDel excl msg > > msgIn msgOut bytes bytesIn bytesOut cons bind > > > > ============================================================================= > > =================================================== > > amq.direct_bad38732-af89-480e-bf7a-ae953e53db27 Y 0 > > 0 0 0 0 0 1 2 > > > > 3. ./qpid-send -a "amq.direct/#" -m 1 > > > > 4. qpid-stat -q | egrep '(queue|=|direct)' > > queue dur autoDel excl msg msgIn > > msgOut bytes bytesIn bytesOut cons bind > > > > ============================================================================= > > ============================================ > > # empty > > Please what failed here? Topic subscription created by qpid-receive set > auto-delete flag properly (amq.direct_bad38732-af89-480e-bf7a-ae953e53db27 > queue was not auto-delete queue, so that is right). qpid-send as a message > producer does not create any subscription or queue. Disregard, got it. The reason why queue is deleted(*) is because the client deletes auxiliary queue for topic subscription, whenever the queue is exclusive. That's some feature I was not aware of but makes sense (to do some garbage collection and to prevent others to use mine exclusive auxiliary queue once I am gone). So, to let the queue persist, set exclusive flag to false, i.e.: qpid-receive -a "amq.direct/#; {link: {x-declare:{'auto-delete':False, 'exclusive':False}}}" -m 1 -f In either case (with or without exclusive:False), the queue is not auto-delete, what was the issue of this BZ. The exclusive:False just allows us to really see the queue any time later. (*) in my case, the queue is deleted on either architecture (i686 and x86_64). Reassigning back to QE to confirm my observation / autoDel flag setup. verified on qpid-cpp-0.30-2.el6.x86_64 qpid-cpp-0.30-2.el6.i686 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHEA-2015-0805.html |