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

Reply via email to