[
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:[email protected]