[
https://issues.apache.org/jira/browse/QPID-4162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13420145#comment-13420145
]
Keith Wall edited comment on QPID-4162 at 7/22/12 11:05 AM:
------------------------------------------------------------
As the client should be allowed to session.close() whenever it likes
(regardless of what controls 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?
was (Author: k-wall):
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]