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

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

If *all* it said was the bit you quoted, then I'd agree that it would not be 
the same as saying only accepted is supported. However it does not just say 
that, the full segment in question adds additional qualification before that:
{quote}"The values in this field are the symbolic descriptors of the outcomes 
that can be chosen on this link. This field MAY be empty, indicating that the 
_default-outcome_ will be assumed for all message transfers (if the 
default-outcome is not set, and no outcomes are provided, then the 
[accepted|http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-accepted]
 outcome MUST be supported by the source).


 When present, the values MUST be a symbolic descriptor of a valid outcome, 
e.g., "amqp:accepted:list".
{quote}
No outcomes set, means no outcomes are specified as choosable on this link. It 
further covers that no outcomes being set means use the default outcome. It 
further states that if there is also no default outcome either then accepted 
must be supported. The source doesn't say anything else is supported. So only 
accepted MUST be supported. The point is to use those fields to determine what 
is supported, so if essentially ignoring it the field may as well not be there. 
They can be / are optional because you do indeed not need to set them...but 
there is a consequence to not doing so.

 

I think this is entirely stupid personally, but that is what it says, and how 
it has been described in the past by the main authors prior times it has been 
touched on. I don't think using/assuming accepted by default in this case makes 
sense, which is why I argued in the PR for 
[https://github.com/apache/activemq-artemis/pull/2847] that e.g Artemis does 
not start using Accepted by default now since it hasn't thus far, and doing so 
would cause a world of hurt by introducing the likelihood of messages being 
silently dumped. Clients should none the less set what they support so it isnt 
a problem.

> 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