You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2012/07/22 13:06:33 UTC

[jira] [Commented] (QPID-4162) AlternateExchangeTests.test_queue_autodelete occasionally fails with ProtocolViolationException on Java Broker

    [ https://issues.apache.org/jira/browse/QPID-4162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13420145#comment-13420145 ] 

Keith Wall commented on QPID-4162:
----------------------------------

As the client should be allowed to session.close() whenever it likes (regardless of what commands are already on the wire), I see this as a Java Broker issue. It does not respect the AMPQ 0.10 spec:

{quote}
The transport MUST be attached in order to use any control other than "attach", "attached", "detach", or "detached". A peer receiving any other control on a detached transport MUST discard it and send a session.detached with the "not-attached" reason code.
{quote}

The _Broker_ gets its current behaviour (throw the PVE) from QPID-2176 (I'm not certain if this was intentional as this Jira was resolving a client defect.  I think we should change to Broker to conform to the spec i.e. return a SessionDetached control with SessionDetachCode.NOT_ATTACHED reason.  The Python implementation connection.py line 101 already has the appropriate guards in place to safely ignore the 'extra' SessionDetached control.

I tested this change locally, and it appears to resolve the issue.

Any thoughts?




   
                
> AlternateExchangeTests.test_queue_autodelete occasionally fails with ProtocolViolationException on Java Broker
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-4162
>                 URL: https://issues.apache.org/jira/browse/QPID-4162
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker, Python Test Suite
>    Affects Versions: 0.16, 0.17
>         Environment: Ubuntu (Apache CI slaves) and Mac OS X 10.6.8
>            Reporter: Keith Wall
>            Assignee: Keith Wall
>
> As exemplified by builds [build 279|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/279/] and [build 284|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/284/], test qpid_tests.broker_0_10.alternate_exchange.AlternateExchangeTests.test_queue_autodelete is occasionally seen to fail against only the Java Broker.
> {noformat}
> Error during test:  Traceback (most recent call last):
>     File "/home/jenkins/jenkins-slave/workspace/Qpid-Python-Java-Test/trunk/qpid/python/qpid-python-test", line 340, in run
>       phase()
>     File "/home/jenkins/jenkins-slave/workspace/Qpid-Python-Java-Test/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/alternate_exchange.py", line 231, in test_queue_autodelete
>       self.assertEmpty(dlq)
>     File "/home/jenkins/jenkins-slave/workspace/Qpid-Python-Java-Test/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/alternate_exchange.py", line 351, in assertEmpty
>       msg = queue.get(timeout=1)
>     File "/home/jenkins/jenkins-slave/workspace/Qpid-Python-Java-Test/trunk/qpid/python/qpid/queue.py", line 55, in get
>       raise Closed(self.error)
>   Closed: (None, 'connection aborted')
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org