Description
Trying to use multiple filters with qpid-queue-stats does not work due to an indentation issue in the Python code. For example:
qpid-queue-stats -f "a.*,b.*"
will only find queues matching the a.* pattern.
The issue is that if the first pattern fails, instead of trying all additional patterns, execution stops. This is because the check to see if all matches failed is indented one level too far to the right. As a result, this check executes inside the for loop, instead of outside. The diff below fixes the issue:
diff --git a/qpid/tools/src/py/qpid-queue-stats b/qpid/tools/src/py/qpid-queue-stats index 54f22df..562ccce 100755 --- a/qpid/tools/src/py/qpid-queue-stats +++ b/qpid/tools/src/py/qpid-queue-stats @@ -84,8 +84,8 @@ class BrokerManager(Console): if x.match(name): match = True break - if match == False: - return + if match == False: + return if last == None: lastSample = first