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

Performance Test Framework: QueueDelete can timeout if test ends when too many unprocessed messages remain on test queue

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.17
    • Fix Version/s: 0.19
    • Component/s: Java Performance Tests
    • Labels:
      None

      Description

      There is a problem in the new Performance Test Framework. If a test utilising the maxiumumDuration feature completes with too many messages left on a queue (as would be the case where number of producers out-number consumers), the QueueDelete command issued by the framework can apparently fail owing to a timeout exception. The command does in fact complete successfully server side, it is just the client gives up awaiting the response. This can cause a spurious test failure.

      I see this with VaryingNumberOfParticipants.json when maximumDuration is set to 100seconds.

      org.apache.qpid.AMQTimeoutException: Server did not respond in a timely fashion [error code 408: Request Timeout]
              at org.apache.qpid.client.util.BlockingWaiter.block(BlockingWaiter.java:177)
              at org.apache.qpid.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:122)
              at org.apache.qpid.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:656)
              at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:677)
              at org.apache.qpid.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:671)
              at org.apache.qpid.client.AMQSession_0_8.sendQueueDelete(AMQSession_0_8.java:429)
              at org.apache.qpid.disttest.jms.QpidQueueCreator.deleteQueue(QpidQueueCreator.java:88)
              at org.apache.qpid.disttest.jms.QpidQueueCreator.deleteQueues(QpidQueueCreator.java:55)
              at org.apache.qpid.disttest.jms.ControllerJmsDelegate.deleteQueues(ControllerJmsDelegate.java:198)
              at org.apache.qpid.disttest.controller.TestRunner.deleteQueues(TestRunner.java:232)
              at org.apache.qpid.disttest.controller.TestRunner.runParts(TestRunner.java:139)
              at org.apache.qpid.disttest.controller.TestRunner.run(TestRunner.java:103)
              at org.apache.qpid.disttest.controller.Controller.runAllTests(Controller.java:172)
              at org.apache.qpid.disttest.ControllerRunner.runTest(ControllerRunner.java:120)
              at org.apache.qpid.disttest.ControllerRunner.runTests(ControllerRunner.java:105)
              at org.apache.qpid.disttest.ControllerRunner.runController(ControllerRunner.java:80)
              at org.apache.qpid.disttest.ControllerRunner.main(ControllerRunner.java:69)
      
      

        Attachments

          Activity

            People

            • Assignee:
              k-wall Keith Wall
              Reporter:
              k-wall Keith Wall
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: