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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.17
    • 0.19
    • Java Performance Tests
    • 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

            kwall Keith Wall
            kwall Keith Wall
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: