qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-1512) Expose the "aborted" flag for transferred deliveries
Date Wed, 20 Sep 2017 17:51:00 GMT

    [ 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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message