[jira] [Created] (QPID-4162) AlternateExchangeTests.test_queue_autodelete occasionally fails with ProtocolViolationException on Java Broker
Keith Wall created QPID-4162: Summary: 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|builds https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/279/] and [build 284|builds 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-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (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:all-tabpanel ] Keith Wall updated QPID-4162: - Description: 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} was: As exemplified by builds [build 279|builds https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/279/] and [build 284|builds 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} *Background* Test fails with an assert failure at line 231: {code:title=alternate_exchange.py} self.assertEqual(Three, dlq.get(timeout=2).body) {code} the test tries to check for the presence of message Three, but finds the queue has already been marked as closed (on the client side by Session#close). The queue is being marked as closed in the response to the Broker closing the socket *abruptly*. The Broker is closing the socket owning to a ProtocolViolationException. {noformat} 2012-07-21 00:40:06,070 DEBUG [IoReceiver - /127.0.0.1:60612] (Logger.java:54) - connection closed: conn:1a9d267d {noformat} Exception (not logged): {noformat} org.apache.qpid.transport.ProtocolViolationException: Received frames for an already detached session at org.apache.qpid.transport.Connection.dispatch(Connection.java:445) at org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:64) at org.apache.qpid.transport.ConnectionDelegate.handle(ConnectionDelegate.java:40) at org.apache.qpid.transport.MethodDelegate.sessionCompleted(MethodDelegate.java:92) at org.apache.qpid.transport.SessionCompleted.dispatch(SessionCompleted.java:88) at org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:49) at org.apache.qpid.transport.ConnectionDelegate.control(ConnectionDelegate.java:40) at org.apache.qpid.transport.Method.delegate(Method.java:163) at org.apache.qpid.transport.Connection.received(Connection.java:379) at org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:212) at org.apache.qpid.server.transport.ServerConnection.received(ServerConnection.java:56) at org.apache.qpid.transport.network.Assembler.emit(Assembler.java:97) at org.apache.qpid.transport.network.Assembler.assemble(Assembler.java:183) {noformat} *Cause* Broker generates the ProtocolViolationException in response to a SessionCompleted command received from the client *after* it has already processed the SessionDetach. The reason the sporadic nature of the test failure is due to a race. The Broker sends a SessionFlush at approximately the same time the client is closing the session (session2.close() line 225). If the client responds to the flush before it sends its SessionDetach all is well. However, if the client sends its
[jira] [Comment Edited] (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-tabpanelfocusedCommentId=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: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[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-tabpanelfocusedCommentId=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-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Closed] (QPID-4161) Move the build system to CMake
[ https://issues.apache.org/jira/browse/QPID-4161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Stitcher closed QPID-4161. - Resolution: Duplicate This is a duplicate of QPID-3633 Move the build system to CMake -- Key: QPID-4161 URL: https://issues.apache.org/jira/browse/QPID-4161 Project: Qpid Issue Type: Improvement Components: Build Tools Reporter: Darryl L. Pierce The Cmake system needs to be updated so that it can replace the existing autotools system. -- 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-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org