Bug 806279 - TestOnly: exclusive auto-del queues are not remove after defined timeout in cluster
TestOnly: exclusive auto-del queues are not remove after defined timeout in c...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
2.1.2
Unspecified Unspecified
unspecified Severity high
: ---
: ---
Assigned To: messaging-bugs
Petr Matousek
: TestOnly
Depends On: 800028
Blocks:
  Show dependency treegraph
 
Reported: 2012-03-23 07:31 EDT by Petr Matousek
Modified: 2012-12-07 12:45 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
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 Petr Matousek 2012-03-23 07:31:06 EDT
Description of problem:
By defining more than one queue to be exclusive auto-delete with defined timeout for auto deletion, only the firstly defined queue is removed after defined timeout, all other queues remain present on the broker.

I've retested this issue on 0.14-14.el5, the issue seems to be fixed. It seems that the fix for Bug 800028 covers this issue as well. So only a retest shall be needed when the new packages for rhel6 will be available.

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

How reproducible:
100%

Steps to Reproduce:
1. set-up clustered broker
2. spout "my-queue_1; {create: sender, node:{x-declare:{exclusive:True, auto-delete:True, arguments:{'qpid.auto_delete_timeout':10}}}}"
3. spout "my-queue_1; {create: sender, node:{x-declare:{exclusive:True, auto-delete:True, arguments:{'qpid.auto_delete_timeout':10}}}}"
4. qpid-config queues
5. sleep 11
6. qpid-config queues
7. only my-queue_1 is removed, all other queues remain present even if exclusive and auto-del was set on them.

Actual results:
auto-del queues are not removed after defined timeout in cluster

Expected results:
all queues with auto-del are properly removed after defined timeout in cluster

Additional info:
Comment 2 Petr Matousek 2012-03-23 07:39:04 EDT
Ken, please can you double check that the patch for Bug 800028 covers this issue as well.
Comment 3 Petr Matousek 2012-03-26 05:24:56 EDT
(In reply to comment #0)
a small correction, different name has to be provided while creating the second queue:

> Steps to Reproduce:
> 3. spout "my-queue_1; {create: sender, node:{x-declare:{exclusive:True,
> auto-delete:True, arguments:{'qpid.auto_delete_timeout':10}}}}"

s/my-queue_1/my-queue_2/
Comment 4 Petr Matousek 2012-03-26 05:31:33 EDT
This issue has been fixed for rhel5, verified on rhel5.8 i386 & x86_64 - qpid-cpp-mrg-0.14-14.el5.

rhel6 version suffers with the same issue reported in Bug 800028, Comment 8 - Waiting for rhel6 packages for retest.
Comment 5 Ken Giusti 2012-03-26 10:26:36 EDT
Confirmed that the fix for Bug 800028 will also address this issue.

The reason for the failure is that when the queues are created, all queues use the same name for the expiration timer.

This causes the cluster to reject adding all timers save the first.  The following log message is issued when adding timers for additional queues:

2012-03-26 10:21:40 error Task already exists with name DelayedAutoDeletion (../../../qpid/cpp/src/qpid/cluster/ClusterTimer.cpp:72)

The fix for Bug 800028 fixes this problem also by creating a unique name for each timer (by incorporating the name of the corresponding queue).
Comment 6 Petr Matousek 2012-03-30 07:38:29 EDT
Issue fixed, tested on rhel5.8 / 6.2 i/x on packages:
qpid-cpp-mrg-0.14-14.el5
qpid-cpp-0.14-14.el6_2

-> VERIFIED

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