You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ken Giusti (JIRA)" <ji...@apache.org> on 2015/03/24 21:09:52 UTC

[jira] [Commented] (DISPATCH-44) Session flow control doesn't work for multicast transfers

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