qpid-dev mailing list archives

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

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

Alan Conway commented on PROTON-1512:
-------------------------------------

 Not sure I understand the problem.

First: If a frame is aborted, by definition it's content (if any) is irrelevant and must be
discarded, so it seems correct to return PN_STATE immediately; rather than return data that
can only be thrown away. You can call pn_delivery_aborted() to tell the difference between
an aborted frame and some other problem that causes a PN_STATE return. If you want to send
an aborted frame, it doesn't need to have any data in it - it would be ignored in any case.


Second: Why would you ever send a single-frame message with the aborted flag set? The only
reason to abort a message is if >0 frames are already sent and there are >0 frames left
to go but the remaining frames can never be sent for some reason. If a message is complete
in a single frame then either send it or don't - there's no reason to use aborted.


> 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