[
https://issues.apache.org/jira/browse/DISPATCH-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14378488#comment-14378488
]
Ken Giusti commented on DISPATCH-44:
------------------------------------
Potential solution:
Each time the message is forwarded out a link, keep a reference to the original
inbound delivery in the outbound deliveries. This will result in N outbound
deliveries referencing the inbound delivery. Keep a reference count in the
inbound delivery.
As the outbound deliveries settle, decrement the reference count in the
corresponding inbound delivery. When the reference drops to zero, set the
disposition and settle the inbound delivery.
This will prevent the session window associated with the inbound message from
being opened up until the fanout completes.
Caveat: the final value of the disposition of the inbound delivery will not be
accurate should the 'downstream' dispositions differ (eg. one link ACCEPTs, one
link REJECTs, etc). AFAIKT, the AMQP 1.0 standard does not define how to
handle this case. I propose that the disposition of the last referencing
outbound delivery be used for setting the inbound delivery disposition by
default.
> Session flow control doesn't work for multicast transfers
> ---------------------------------------------------------
>
> Key: DISPATCH-44
> URL: https://issues.apache.org/jira/browse/DISPATCH-44
> Project: Qpid Dispatch
> Issue Type: Bug
> Components: Router Node
> Affects Versions: 0.3
> Reporter: Ted Ross
> Assignee: Ken Giusti
>
> Session flow control doesn't provide back-pressure in all needed cases when
> message transfers are multicast (i.e. fanout greater than one).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]