[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to