You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2011/08/02 18:33:27 UTC

[jira] [Updated] (QPID-2899) SelectorTest#testRuntimeSelectorError fails when using 0-10

     [ https://issues.apache.org/jira/browse/QPID-2899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell updated QPID-2899:
---------------------------------

          Description: 
org.apache.qpid.test.client.message.SelectorTest#testRuntimeSelectorError fails against the Java broker when using 0-10 because the broker fails to close the Session when the deliberate error occurs, as it does when using 0-8/0-9.

QpidBrokerTestCase behaviour is to close connections during teardown that were created using the getConnection() utility method, and the teardown close is failing in this test because it tries to sync outstanding 0-10 commands with the broker and times out, as the previous exception has crippled it. The exception should be caught and used to close the producer Session with an ExecutionException.

  was:
org.apache.qpid.test.client.message.SelectorTest#testRuntimeSelectorError fails when using 0-10 because the broker fails to close the connection when the deliberate error occurs, as it does when using 0-8/0-9

QpidBrokerTestCase behaviour is to close connections during teardown that were created using the getConnection() utility method, and the teardown close is failing because it tries to sync outstanding 0-10 commands with the broker and times out. This test should already have caused the connection to be closed due to a (deliberate) error when evaluating the selector.

However, in addition to the original exception it can be seen that there are IllegalArgumentException occurrences immediately afterwards because the InputHandler is continuing to process recieved data on the connection (whcih should have been closed) and then ends up trying to add the contents of a ByteBuffer to itself in the received() method (possibly because the exception being throwing prevented an instance variable being set to null on completion of a process), prompting the throwing of the IllegalArgumentException.

Commenting out the connection close during teardown reveals the test would otherwise have failed because the connection was not closed due to the original error as it should have been. It appears that the 0-8 broker code closes the mina protocol session in this situation when the first exception is thrown, but the 0-10 broker code proceeds using a crippled connection and then gets into further difficulty.

    Affects Version/s: 0.12
                       0.11
                       0.7
                       0.8
                       0.9
                       0.10

> SelectorTest#testRuntimeSelectorError fails when using 0-10
> -----------------------------------------------------------
>
>                 Key: QPID-2899
>                 URL: https://issues.apache.org/jira/browse/QPID-2899
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>             Fix For: 0.13
>
>
> org.apache.qpid.test.client.message.SelectorTest#testRuntimeSelectorError fails against the Java broker when using 0-10 because the broker fails to close the Session when the deliberate error occurs, as it does when using 0-8/0-9.
> QpidBrokerTestCase behaviour is to close connections during teardown that were created using the getConnection() utility method, and the teardown close is failing in this test because it tries to sync outstanding 0-10 commands with the broker and times out, as the previous exception has crippled it. The exception should be caught and used to close the producer Session with an ExecutionException.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org