Qpid
  1. Qpid
  2. QPID-3821

Uncaught exception thrown in QueueRunner and SubFlushRunner run() could cause them to remain stuck in RUNNING state permanently

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.15
    • Fix Version/s: 0.15
    • Component/s: Java Broker
    • Labels:
      None

      Description

      The QueueRunner.run() method calls SimpleAMQQueue.processQueue(...) method within a try/catch block. If this threw an exception that was not caught then the state of the QueueRunner is never set back to IDLE or SCHEDULED.

      The same pattern is present in the SubFlushRunner.run().

      The code at the end of the method should be moved into the finally block to prevent this from happening.

        Activity

        Hide
        Keith Wall added a comment -

        No comments from me, patch applied.

        Show
        Keith Wall added a comment - No comments from me, patch applied.
        Hide
        Andrew MacBean added a comment -

        Patch modified to include SubFlushRunner.

        Show
        Andrew MacBean added a comment - Patch modified to include SubFlushRunner.
        Hide
        Andrew MacBean added a comment -

        Could you please review and apply if happy?

        Thanks
        Andrew

        Show
        Andrew MacBean added a comment - Could you please review and apply if happy? Thanks Andrew

          People

          • Assignee:
            Keith Wall
            Reporter:
            Andrew MacBean
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development