Bug 614589 - The temp queues created when receiving from an exchange are not deleted.
The temp queues created when receiving from an exchange are not deleted.
Status: CLOSED ERRATA
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-java (Show other bugs)
Development
All Linux
high Severity high
: 1.3
: ---
Assigned To: Rajith Attapattu
Jeff Needle
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-14 15:47 EDT by Rajith Attapattu
Modified: 2010-10-20 09:54 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-10-20 07:31:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Rajith Attapattu 2010-07-14 15:47:07 EDT
Description of problem:
In the new addressing scheme, when you subscribe to an exchange a temp queue is created for the subscriber.
This queue should be exclusive and auto-deleted when the session is closed.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. run "java -cp $QP org.apache.qpid.example.Drain amq.topic", where $QP is the classpath.

2. Check the logs on client or broker to observe that the queue created does not have the exclusive and auto-delete bits set.
  
Actual results:
The queue-declare does not set the exclusive and auto-delete to true.

Expected results:
The queues created should be exclusive and auto-deleted.

Additional info:
Comment 1 Rajith Attapattu 2010-07-14 20:39:46 EDT
The queue deletion depends on the reliability mode.
If reliability mode is "unreliable" or "at-most-once" then the queue should be created with auto-delete=true. 

If reliability mode is "at-least-once" then the queue should set auto-delete=false, and the queue will only be deleted if the client app invokes consumer.close().

If x-declare properties include auto-delete=true, then the reliability mode is ignored.
Comment 2 Gordon Sim 2010-07-16 04:02:36 EDT
Unless there is a way (e.g. through auto-delete in x-declare) to avoid this, this is a blocker as it will leave unsubscribed queues bound to the exchange causing message build up and eventually preventing publication to that exchange without manual intervention.
Comment 3 Rajith Attapattu 2010-07-29 09:55:36 EDT
This is tracked in upstream via QPID-2733
Currently all subscription queues created are set to auto-delete=true.
The reliability mode is not implemented yet.

http://svn.apache.org/viewcvs?view=rev&rev=965713

Git commit URL
http://mrg1.lab.bos.redhat.com/cgit/qpid.git/commit/?id=87777d0f7e270a0a6ebd4bfbac330bdaace7b84e
Comment 4 Jiri Kolar 2010-08-13 04:47:36 EDT
confirm that all subscription queues are auto-delete now, thus they disappear after session is closed. So the expected behavior is there. Nevertheless queues are hard coded as auto-delete and this can not be changed. I filled a bug concerning this:
bz623198


validated on RHEL5.5/RHEL4  i386 / x86_64  

packages:

# rpm -qa | grep -E '(qpid|openais|rhm)' | sort -u
openais-0.80.6-16.el5_5.2
openais-devel-0.80.6-16.el5_5.2
python-qpid-0.7.946106-11.el5
qpid-cpp-client-0.7.946106-11.el5
qpid-cpp-client-devel-0.7.946106-11.el5
qpid-cpp-client-devel-docs-0.7.946106-11.el5
qpid-cpp-client-ssl-0.7.946106-11.el5
qpid-cpp-mrg-debuginfo-0.7.946106-8.el5
qpid-cpp-server-0.7.946106-11.el5
qpid-cpp-server-cluster-0.7.946106-11.el5
qpid-cpp-server-devel-0.7.946106-11.el5
qpid-cpp-server-ssl-0.7.946106-11.el5
qpid-cpp-server-store-0.7.946106-11.el5
qpid-cpp-server-xml-0.7.946106-11.el5
qpid-java-client-0.7.946106-7.el5
qpid-java-common-0.7.946106-7.el5
qpid-tools-0.7.946106-8.el5
rhm-docs-0.7.946106-4.el5
rh-tests-distribution-MRG-Messaging-qpid_common-1.6-52


->VERIFIED

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