[
https://issues.apache.org/jira/browse/DISPATCH-1481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16975167#comment-16975167
]
ASF subversion and git services commented on DISPATCH-1481:
-----------------------------------------------------------
Commit dee4313a30b4e275c0be589ca346780bcd5c8712 in qpid-dispatch's branch
refs/heads/master from Ken Giusti
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=dee4313 ]
DISPATCH-1481: Multicast links should block until a consumer is present
This fixes an infinite loop bug which occurs when using multicast
addresses on inbound waypoint (broker) links.
This closes #618
> 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]