[ https://issues.apache.org/jira/browse/PROTON-1512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16172363#comment-16172363 ]
Chuck Rolke commented on PROTON-1512: ------------------------------------- Testing this feature there is an issue with how it is implemented. If a single-frame message comes in with abort=true in the header then pn_link_recv does not deliver any of the message. Instead it just delivery the -5 state error. In the case where the second message is aborted pn_link_recv returns: {noformat} 125 - some length 1 -1 - EOS -5 - STATE_ERROR {noformat} When two normal, short messages are received pn_link_recv returns: {noformat} 125 - some length 1 -1 - EOS 125 - some length 2 -1 - EOS {noformat} In order for the router to have some message header to send down the line proton must deliver the content of the header that had the abort=true. {noformat} 125 - some length 1 -1 - EOS 125 - some length 2 -5 - STATE_ERROR {noformat} > 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