[ https://issues.apache.org/jira/browse/PROTON-1070?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell updated PROTON-1070: ----------------------------------- Description: I recently saw an odd test failure while making changes to some other code (itself using proton-j) that the test was using, even though it seemed like the change should have had no effect on that test. I eventually identified this was due to some unexpected behaviour in other areas that was ultimately occuring because no Open frame had been sent/received, as the original author of the test had not opened the 'client' Connection object. The test should thus never have worked as a result, but it did. After some further inspection, it seems that: - proton-j can receive and process other frames without the Open arriving, resulting in different 'default' behaviour than if it were. - It isnt immediately obvious (to me) whether proton-c guards against the receiving case or not. EDIT: the work on proton-j based on the following comments was split out to PROTON-1000: - proton-j can emit other frames without first sending the Open frame [because the Connection object wasnt actually opened]. - proton-c does not appear to, since it guards in various using a check if the open has been sent yet. was: I recently saw an odd test failure while making changes to some other code (itself using proton-j) that the test was using, even though it seemed like the change should have had no effect on that test. I eventually identified this was due to some unexpected behaviour in other areas that was ultimately occuring because no Open frame had been sent/received, as the original author of the test had not opened the 'client' Connection object. The test should thus never have worked as a result, but it did. After some further inspection, it seems that: - proton-j can emit other frames without first sending the Open frame [because the Connection object wasnt actually opened]. - proton-c does not appear to, since it guards in various using a check if the open has been sent yet. - proton-j can receive and process other frames without the Open arriving, resulting in different 'default' behaviour than if it were. - It isnt immediately obvious (to me) whether proton-c guards against the receiving case or not. Summary: validate the Open frame having been received before other frames (was: other frames can be sent/received without the Open frame having been) Updating title/description to reflect some changes having been made via PROTON-1000 > validate the Open frame having been received before other frames > ----------------------------------------------------------------- > > Key: PROTON-1070 > URL: https://issues.apache.org/jira/browse/PROTON-1070 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c, proton-j > Affects Versions: 0.11.0 > Reporter: Robbie Gemmell > > I recently saw an odd test failure while making changes to some other code > (itself using proton-j) that the test was using, even though it seemed like > the change should have had no effect on that test. I eventually identified > this was due to some unexpected behaviour in other areas that was ultimately > occuring because no Open frame had been sent/received, as the original author > of the test had not opened the 'client' Connection object. The test should > thus never have worked as a result, but it did. > After some further inspection, it seems that: > - proton-j can receive and process other frames without the Open arriving, > resulting in different 'default' behaviour than if it were. > - It isnt immediately obvious (to me) whether proton-c guards against the > receiving case or not. > EDIT: the work on proton-j based on the following comments was split out to > PROTON-1000: > - proton-j can emit other frames without first sending the Open frame > [because the Connection object wasnt actually opened]. > - proton-c does not appear to, since it guards in various using a check if > the open has been sent yet. -- This message was sent by Atlassian JIRA (v6.3.4#6332)