Bug 491313 - Subscribing sessions should be terminated with exception if the queue they are subscribed to is deleted
Summary: Subscribing sessions should be terminated with exception if the queue they ar...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 1.0
Hardware: All
OS: Linux
high
medium
Target Milestone: 1.3
: ---
Assignee: Gordon Sim
QA Contact: Jiri Kolar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-03-20 11:58 UTC by Gordon Sim
Modified: 2010-10-14 16:07 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clients did not have a way of finding out when a message queue was deleted, with the result that a SessionException occurred whenever a client tried to use a deleted queue. This update ensures that, when a message queue to which a client is subscribed is deleted, an appropriate exception is returned to the client to notify it of the deletion event. Due to this, clients are now able to react appropriately to queue deletion.
Clone Of:
Environment:
Last Closed: 2010-10-14 16:07:03 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0773 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Messaging and Grid Version 1.3 2010-10-14 15:56:44 UTC

Description Gordon Sim 2009-03-20 11:58:19 UTC
At present this condition is not detected by the client.

Comment 1 Martin Kudlej 2009-08-27 11:46:48 UTC
For more information:

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

How reproducible:
100%

Steps to Reproduce:
1.remove carod from condor daemons list and stop carod
2."service qpidd restart"
3.run "carod -l"
4."qpid-config del queue grid" It doesn't delete the "grid" queue.
5.qpid-config add queue grid --durable 
It creates second queue with name 'grid'. I think this is firts bug.
6.qpid-config del queue grid. It deletes second "grid" queue.
7.qpid-config del queue grid. It raises exception:
Failed: SessionException - exception(error_code=404,
command_id=serial(48), class_code=8, command_code=2, field_index=0,
description=u'not-found: Queue not found: grid
(qpid/broker/SessionAdapter.cpp:742)', error_info={})

and  "qpid-config queues" output:
Queue Name                                     Attributes
======================================================================
grid                                           --durable

Comment 3 Gordon Sim 2010-01-22 11:01:36 UTC
Fixed in r902055. To test,

1. create a queue (e.g. qpid-config add queue test-queue)
2. start a client that subscribes to it (e.g. ./receiver)
3. delete the queue (e.g. qpid-config del queue test-queue --force)

then check that the client started in (2) gets the resource-deleted exception (receiver program will catch and print the exception then exit).

Comment 5 Jiri Kolar 2010-09-20 12:34:22 UTC
tested on qpid-cpp-server-0.7.946106-15 and it is fixed 

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.7
openais-devel-0.80.6-16.el5_5.7
python-qpid-0.7.946106-14.el5
qpid-cpp-client-0.7.946106-15.el5
qpid-cpp-client-devel-0.7.946106-15.el5
qpid-cpp-client-devel-docs-0.7.946106-15.el5
qpid-cpp-client-ssl-0.7.946106-15.el5
qpid-cpp-mrg-debuginfo-0.7.946106-14.el5
qpid-cpp-server-0.7.946106-15.el5
qpid-cpp-server-cluster-0.7.946106-15.el5
qpid-cpp-server-devel-0.7.946106-15.el5
qpid-cpp-server-ssl-0.7.946106-15.el5
qpid-cpp-server-store-0.7.946106-15.el5
qpid-cpp-server-xml-0.7.946106-15.el5
qpid-java-client-0.7.946106-9.el5
qpid-java-common-0.7.946106-9.el5
qpid-tools-0.7.946106-10.el5
rhm-docs-0.7.946106-5.el5
rh-tests-distribution-MRG-Messaging-qpid_common-1.6-53

->VERIFIED

Comment 6 Jaromir Hradilek 2010-10-07 15:05:31 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
When the queue a client is subscribed to is deleted, an appropriate exception is returned to notify the client of this event.

Comment 7 mick 2010-10-07 19:19:51 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1,11 @@
-When the queue a client is subscribed to is deleted, an appropriate exception is returned to notify the client of this event.+Cause:
+    When a queue is deleted, subscribing clients had no way of finding out.
+
+  Consequence:
+    SessionException would  occur when client tried to use deleted queue.
+
+  Fix:
+    When the queue a client is subscribed to is deleted, an appropriate exception is returned to notify the client of this event.
+
+  Result:
+    Client can react appropriately to queue deletion.

Comment 8 Jaromir Hradilek 2010-10-08 13:34:18 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,11 +1 @@
-Cause:
+Clients did not have a way of finding out when a message queue was deleted, with the result that a SessionException occurred whenever a client tried to use a deleted queue. This update ensures that, when a message queue to which a client is subscribed is deleted, an appropriate exception is returned to the client to notify it of the deletion event. Due to this, clients are now able to react appropriately to queue deletion.-    When a queue is deleted, subscribing clients had no way of finding out.
-
-  Consequence:
-    SessionException would  occur when client tried to use deleted queue.
-
-  Fix:
-    When the queue a client is subscribed to is deleted, an appropriate exception is returned to notify the client of this event.
-
-  Result:
-    Client can react appropriately to queue deletion.

Comment 10 errata-xmlrpc 2010-10-14 16:07:03 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0773.html


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