Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.17
-
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)