Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3578

qpid-queue-stats doesn't support multiple filters (despite --help saying it does)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.14
    • C++ Tools
    • None

    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
      

      Attachments

        1. qpid-3578.diff
          0.5 kB
          Andy Goldstein

        Activity

          People

            Unassigned Unassigned
            ncdc Andy Goldstein
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: