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

Reply via email to