[
https://issues.apache.org/jira/browse/DISPATCH-1045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16525462#comment-16525462
]
ASF GitHub Bot commented on DISPATCH-1045:
------------------------------------------
Github user ted-ross commented on a diff in the pull request:
https://github.com/apache/qpid-dispatch/pull/328#discussion_r198605509
--- Diff: src/router_node.c ---
@@ -312,12 +307,30 @@ static void AMQP_rx_handler(void* context, qd_link_t
*link)
pn_link_name(pn_link));
}
+ //
+ // The entire message has been received and we are ready to
consume the delivery by calling pn_link_advance().
+ //
+ pn_link_advance(pn_link);
+
+ //
+ // The entire message has been received but this message needs to
be discarded
+ //
+ if (qd_message_is_discard(msg)) {
+ pn_delivery_update(pnd, qdr_delivery_disposition(delivery));
--- End diff --
Is the delivery disposition _always_ set when discard is set? What if the
disposition was not set? I think the pn_delivery_update should not be called
in this case.
> Sometimes close connetion after releasing partial multi-frame messsage
> ----------------------------------------------------------------------
>
> Key: DISPATCH-1045
> URL: https://issues.apache.org/jira/browse/DISPATCH-1045
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Router Node
> Affects Versions: 1.1.0
> Reporter: Alan Conway
> Assignee: Ganesh Murthy
> Priority: Major
> Fix For: 1.2.0
>
>
> Since DISPATCH-1012 the router releases undeliverable deliveries.
> In the case of a multi-frame delivery, it is possible for dispatch to release
> it before the entire delivery has been received. Presently dispatch settles
> such deliveries and advances its link. That means that if another transfer
> for the same delivery arrives, dispatch regards it as a new message with an
> invalid delivery-id and closes the connection. Since the release is
> asynchronous, there's no way for the client to avoid this possibility.
> Worth checking the spec but I suspect we should be dropping the extra data
> rather than closing the connection. Need to investigate how this would work
> in proton - I think we'd update the delivery without settling it and then
> wait for the remote to settle before finally throwing it away.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]