Bug 653167 - qpid-config doesn't show all queues in broker
Summary: qpid-config doesn't show all queues in broker
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 2.0
: ---
Assignee: Gordon Sim
QA Contact: Petra Svobodová
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-14 20:35 UTC by Martin Kudlej
Modified: 2011-06-23 15:48 UTC (History)
7 users (show)

Fixed In Version: qpid-cpp-server-0.9.1079953-1, qpid-tools-0.9.1078967-1
Doc Type: Bug Fix
Doc Text:
Cause What actions or circumstances cause this bug to present. Consequence If queues have been decalred with string values for arguments expected to be integers, qpid-config will fail when trying to list them and the list of queues will be incomplete. Fix qpid-config has been made more tolerant of string valued arguments Result qpid-config will list all queue even if some have string valued arguments
Clone Of:
Environment:
Last Closed: 2011-06-23 15:48:16 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:0890 normal SHIPPED_LIVE Red Hat Enterprise MRG Messaging 2.0 Release 2011-06-23 15:42:41 UTC

Description Martin Kudlej 2010-11-14 20:35:21 UTC
Description of problem:

I've tried 
<snip>
  #good
  session.queue_declare(queue="queue_capacity1", exclusive=True,
arguments={'qpid.max_count' : 0, 'qpid.max_size': 0})
  session.queue_declare(queue="queue_capacity2", exclusive=True,
arguments={'qpid.max_count' : 3, 'qpid.max_size': 0})
  session.queue_declare(queue="queue_capacity3", exclusive=True,
arguments={'qpid.max_count' : 0, 'qpid.max_size': 300})
  session.queue_declare(queue="queue_capacity4", exclusive=True,
arguments={'qpid.max_count' : 0, 'qpid.max_size': "3"})

  #bad
  session.queue_declare(queue="queue_capacity5", exclusive=True,
arguments={'qpid.max_count' : -1, 'qpid.max_size': 0})
  session.queue_declare(queue="queue_capacity6", exclusive=True,
arguments={'qpid.max_count' : 0, 'qpid.max_size': -1})
  session.queue_declare(queue="queue_capacity7", exclusive=True,
arguments={'qpid.max_count' : 0, 'qpid.max_size': "flummery"})
  session.queue_declare(queue="queue_capacity8", exclusive=True,
arguments={'qpid.max_count' : 0, 'qpid.max_size': 3.14159})
</snip>

and after these creations of queues "qpid-config queues" doesn't show all these
queues(they are visible in qpid-tool).
$ qpid-config queues
Queue Name                                          Attributes
===========================================================================
queue_capacity1                                     excl --max-queue-size=0
--max-queue-count=0
queue_capacity2                                     excl --max-queue-size=0
--max-queue-count=3
queue_capacity3                                     excl --max-queue-size=300
--max-queue-count=0
queue_capacity4                                     excl Failed: TypeError: int
argument required
qpid-config del queue queue_capacity4
$ qpid-config queues
Queue Name                                          Attributes
===========================================================================
queue_capacity1                                     excl --max-queue-size=0
--max-queue-count=0
queue_capacity2                                     excl --max-queue-size=0
--max-queue-count=3
queue_capacity3                                     excl --max-queue-size=300
--max-queue-count=0
queue_capacity5                                     excl --max-queue-size=0
--max-queue-count=-1
queue_capacity6                                     excl --max-queue-size=-1
--max-queue-count=0
queue_capacity7                                     excl Failed: TypeError: int
argument required
$  qpid-config del queue queue_capacity7
$ qpid-config queues
Queue Name                                          Attributes
===========================================================================
queue_capacity1                                     excl --max-queue-size=0
--max-queue-count=0
queue_capacity2                                     excl --max-queue-size=0
--max-queue-count=3
queue_capacity3                                     excl --max-queue-size=300
--max-queue-count=0
queue_capacity5                                     excl --max-queue-size=0
--max-queue-count=-1
queue_capacity6                                     excl --max-queue-size=-1
--max-queue-count=0
queue_capacity8                                     excl --max-queue-size=3
--max-queue-count=0

Version-Release number of selected component (if applicable):
RHEL 5.5/48 x x86_64/i386 with 
python-qpid-0.7.946106-14
qpid-cpp-client-0.7.946106-20
qpid-cpp-client-devel-0.7.946106-20
qpid-cpp-client-devel-docs-0.7.946106-20
qpid-cpp-client-ssl-0.7.946106-20
qpid-cpp-server-0.7.946106-20
qpid-cpp-server-devel-0.7.946106-20
qpid-cpp-server-ssl-0.7.946106-20
qpid-cpp-server-store-0.7.946106-20
qpid-cpp-server-xml-0.7.946106-20
qpid-java-client-0.7.946106-12
qpid-java-common-0.7.946106-12
qpid-java-example-0.7.946106-12
qpid-tests-0.7.946106-1
qpid-tools-0.7.946106-11
python-qmf-0.7.946106-14
qmf-0.7.946106-20


How reproducible:
100%

Steps to Reproduce:
1. declare queue with 'qpid.max_size': "string" 
2. qpid-config queue
  
Actual results:
qpid-config doesn't show all queue in list of queues after queue with qpid.max_size declared as string.

Expected results:
qpid-config will show all queues.

Comment 1 Gordon Sim 2011-02-25 20:57:08 UTC
Fixed upstream: http://svn.apache.org/viewvc?rev=1074697&view=rev

Comment 2 Gordon Sim 2011-02-25 20:57:08 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:
Cause
    What actions or circumstances cause this bug to present.

Consequence
    If queues have been decalred with string values for arguments expected to be integers, qpid-config will fail when trying to list them and the list of queues will be incomplete.

Fix
    qpid-config has been made more tolerant of string valued arguments

Result
    qpid-config will list all queue even if some have string valued arguments

Comment 4 Petra Svobodová 2011-05-12 14:38:10 UTC
The "qpid-config queues" shows all created queues now. 

String valued arguments "qpid.max_size" or "qpid_max_count" are accepted if they are able to be converted to an integer format; in another case it is not possible to create a queue with them.

Tested packages: qpid-cpp - 0.10.3 on RHEL 5.6 / 6.1 i[36]86/ x86_64

-->VERIFIED

Comment 5 errata-xmlrpc 2011-06-23 15:48:16 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/RHEA-2011-0890.html


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