[
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)