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

Chuck Rolke commented on PROTON-1512:
-------------------------------------

I'm trying to consume proton's behavior in qpid-dispatch. If a sender sends an 
aborted delivery to the router I believe that the router must forward that 
aborted delivery to it's message receivers. Then the receivers discard any data 
they have received so far.

When proton discards the frame in which the abort is set and that is the only 
frame then proton has discarded the message arguments, header, router headers, 
and the router can't route a meaningful message. From the outside the receiver 
will not see the same stream that the sender sent. If sender sends A, B, 
C(aborted), D and receiver receives A, B, D with no indication that anything 
weird happened to message C then the system is unreliable.

WRT a single-frame message with the aborted flag set: Why not? The spec allows 
for it and somebody will do it: I did it on my very first try!


> Expose the "aborted" flag for transferred deliveries
> ----------------------------------------------------
>
>                 Key: PROTON-1512
>                 URL: https://issues.apache.org/jira/browse/PROTON-1512
>             Project: Qpid Proton
>          Issue Type: New Feature
>          Components: proton-c
>            Reporter: Ted Ross
>            Assignee: Alan Conway
>              Labels: api
>             Fix For: proton-c-0.18.0
>
>
> As we develop support for message streaming in Qpid Dispatch Router (i.e. 
> frames for large multi-frame messages are forwarded to destinations as they 
> arrive, before the complete message is received), there is a need to handle 
> the case where a received message is never completed.
> The AMQP protocol has a provision for this in the "aborted" flag in the 
> transfer performative.  If the router is in the process of streaming a large 
> message from sender to receiver and the sender drops before completing the 
> delivery, the router can send a transfer to the downstream receivers with the 
> "aborted" flag set.  This would indicate that the message should not be 
> processed and would not cause any framing errors on the link.
> Proton does not currently expose this capability in its API (There is a 
> pn_link_abort in the C header file, but it is commented out and not 
> implemented).
> In order to properly handle the failure cases for message streaming, this 
> feature must be usable in Proton.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to