[ 
https://issues.apache.org/jira/browse/DISPATCH-1481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ken Giusti resolved DISPATCH-1481.
----------------------------------
    Resolution: Fixed

> Multicast producers should block on credit until consumers are present
> ----------------------------------------------------------------------
>
>                 Key: DISPATCH-1481
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1481
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Router Node
>    Affects Versions: 1.8.0, 1.9.0
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Major
>             Fix For: 1.10.0
>
>
> For all anycast forwarding treatments (balanced, closest, etc.)  the router 
> does not provide capacity (credit) to the publisher until the router is aware 
> of at least one consumer for that address.  This allows the application to 
> avoid sending messages that the router will simply RELEASE due to lack of 
> consumers.
> This is not the case for multicast producers (specifically, ingress links 
> with a multicast target address).  In fact, the router's behavior has varied 
> over several releases (both intentionally and unintentionally):
>  * pre 1.0: mcast credit was consistent with anycast - block until consumers 
> present
>  * at 1.0 mcast credit was change to always be provided regardless of the 
> presence of consumers 
> ([DISPATCH-779|https://issues.apache.org/jira/browse/DISPATCH-779])
>  * at some point after 1.2 the router began returning RELEASED outcome for 
> unsettled multicast.  This appears to be unintentional (and reveals a hole in 
> the system test suite) as it can force an infinite loop as credit will 
> automatically be replenished (per DISPATCH-779).
>  * in 1.9.0 the router's handling of unsettled multicast outcomes was 
> corrected and brought in line with the handling of anycast unsettled messages 
> [DISPATCH-1266|https://issues.apache.org/jira/browse/DISPATCH-1266].  This 
> change ended up codifying the RELEASED on no-consumer behavior as 
> intentional, but did not address the infinite credit  loop issue.
> The router should be consistent in the way it manages credit regardless of 
> the forwarding treatment.  Providing an unlimited credit supply can result in 
> an infinite transmit->RELEASE->retransmit loop.  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to