qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (Jira)" <j...@apache.org>
Subject [jira] [Commented] (DISPATCH-1481) Multicast producers should block on credit until consumers are present
Date Fri, 15 Nov 2019 15:19:00 GMT

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


Mime
View raw message