On Wed, Nov 6, 2019 at 10:05 AM Ganesh Murthy <gmur...@redhat.com> wrote:

> On Wed, Nov 6, 2019 at 9:04 AM Ken Giusti <kgiu...@redhat.com> wrote:
>
> > Please excuse the top-posting - we're planning the next release of
> > qdrouterd and I'd like to confirm what the plan forward is regarding
> credit
> > management for multicast links.
> >
> > After reading through this discussion I believe the general consensus is
> to
> > ensure all non-anonymous links use the same link credit semantics
> > regardless of the type of address of the link.  Specifically: multicast
> > link credit semantics will be the same as anycast - block credit until
> > consumers are present.
> >
> > Now with respect to those users that expect to be able to send multicast
> > messages regardless of consumers (the behavior that was introduced in
> > DISPATCH-779 <https://issues.apache.org/jira/browse/DISPATCH-779>):
> >
> > The qdrouterd has always supported unconditional credit allocation on
> > ANONYMOUS links.  In other words, anonymous links will receive
> linkCapacity
> > credit regardless of the presence of consumers (since there's no address
> to
> > block on).
> >
> > I would argue that DISPATCH-779 is in fact not-a-bug - the correct
> solution
> > was to use an ANONYMOUS link instead of an addressed link.
> >
> > In summary:
> >
> > 1) All non-anonymous producer links will only be granted credit when the
> > router is aware of at least one consumer.  This applies to all of the
> > address treatments uniformly (multicast, anycast, balanced, closest, ...)
> >
> > 2) Declare the fix to DISPATCH-779 invalid and change the JIRA's state to
> > not-a-bug with the comment explaining the need to use anonymous links for
> > that use case.
> >
> > 3) Declare 1.9.0 to be Broken and backport the proposed fix and release
> > 1.9.1
> >
> With 1.10.0 coming up in a couple of weeks which will have the above fix,
> Is a 1.9.1 necessary ?
>
>
I really don't feel strongly about #3 or #2 quite frankly.  What I *do*
care about is #1.

What we do regarding release(s)/backporting really depends on whether or
not we do #1, so let's postpone the #3 and #2 discussion until we decide if
#1 merits inclusion in next release.


> >
> > Let me know what you all think - I'm assuming silence is tacit approval
> of
> > this proposal ;)
> >
> > On Tue, Nov 5, 2019 at 9:29 AM Gordon Sim <g...@redhat.com> wrote:
> >
> > > On 05/11/2019 11:31 am, Robbie Gemmell wrote:
> > > > I think always-accepting would be fairly consistent multicast / topic
> > > > like behaviour that neednt imply any consumer delivery guarantee, the
> > > > same way it doesnt for brokered cases, with it only meaning that a
> > > > router saw the message, particularly if covered by the documentation.
> > >
> > > I think the brokered case is different as it involves a
> > > store-and-forward semantic. The producer always cares only that the
> > > broker it sent it to got it. The forwarding of the message is always
> > > decoupled from that and so the state of consumers is irrelevant to the
> > > acknowledgement for both queues and topics.
> > >
> > > The router provides an end-to-end acknowledgement rather than
> > > store-and-forward. Though the limitations of the outcomes defined in
> the
> > > AMQP specification prevent the fullest expression of that, Ken's work
> > > allows what is in my view a more internally consistent approach.
> > >
> > > Reject always means that a receiver rejected it. Accept always means
> > > that a receiver accepted it, and it was not rejected. Release always
> > > means that either the message could not be routed to any receiver or
> > > that any receiver to which it was routed explicitly released it.
> > > Modified means it was routed to at least one receiver which either
> > > explicitly issued the modified outcome or was disconnected before it
> > > returned any explicit outcome.
> > >
> > > (Maybe in the future we could even have a custom outcome, support for
> > > which could be advertised in the connection or link capabilities, that
> > > allowed an explicit aggregation of the outcomes from each distinct
> > > receiver to which the message was routed to be included)
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
> > > For additional commands, e-mail: users-h...@qpid.apache.org
> > >
> > >
> >
> > --
> > -K
> >
>


-- 
-K

Reply via email to