[ 
https://issues.apache.org/jira/browse/PROTON-2108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16937516#comment-16937516
 ] 

Robbie Gemmell commented on PROTON-2108:
----------------------------------------

I think what you describe would be a reasonable behaviour and what it should 
have said (explicitly), but I don't think that is what it says/allows given the 
continuing outline that not setting outcomes means the default outcome applies 
to all transfers, and what is true if that is also not set. Prior discussions 
on this from the authors conveyed the same understanding I'm holding of the 
text, but that's how I would read it myself, though to be clear I do think its 
ridiculous.

On the way implementations treating things, I think its true that most folks 
have just largely ignored this entire area of the spec entirely since its 
annoying, and I've been guilty of that myself. It only takes one bit to 
implement what it says to cause problems, and as 
https://github.com/apache/activemq-artemis/pull/2847 shows someone else has 
actually done so, and had it not been caught in review it would likely later be 
causing problems.

The simple way to avoid that ever causing problems is for clients to advertise 
what they support using the mechanism that exists to do that. I am as you 
thought just proposing sending the full set since the bindings already use and 
handle them that way.

To your last point, I agree it seems wrong, and rather silly. There is 
potentially possibility though that a peer could also e.g detach the link with 
an error rather than accept and silently swallow the messages though. That is 
what the spec says to do in some cases such as if a transaction coordinator 
doesn't support the rejected outcome at a point its use would be needed for 
example.
 

> supported source outcomes not set
> ---------------------------------
>
>                 Key: PROTON-2108
>                 URL: https://issues.apache.org/jira/browse/PROTON-2108
>             Project: Qpid Proton
>          Issue Type: Bug
>    Affects Versions: proton-c-0.29.0
>            Reporter: Robbie Gemmell
>            Priority: Critical
>
> From looking at some recent traces, it appears that the bindings (at least 
> for python, but probably others) do no set the outcomes (or default-outcome) 
> field on its source terminus, although they do use/support all the outcomes. 
> To a peer that actually inspects the outcomes to influence behaviour this 
> strictly means only Accepted is supported, which can lead to issues (e.g it 
> might accept a message then drop it, rather than release/modify/reject it, 
> under cases it couldn't be processed).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to