Ted,

thank you for your hints and the pointer to the issue regarding the new concept 
for handing out credits.
However, with the current mechanism in place, i.e. the Dispatch Router flowing 
credits to senders based on the "linkCapacity" property, I find it hard to 
believe that it is completely unrelated to the session window size. Consider 
the following example:

We have configured the router with a session window of 200 frames of 1000 bytes 
each.
We now connect a slow consumer to the router which, lets say, can process 50 
messages of 1000 bytes per second and flows 100 credits to the router on link 
establishment. We then connect a fast sender to the router which is capable of 
sending 500 messages of 1000 bytes per sec to the router.

Now the router flows 250 credits (the default) to the sender and the sender 
immediately sends its first 200 messages to the router which now needs to 
buffer most of these messages because of the slow consumer. I reckon that the 
router does now adapts its flowing of new credit to the sender according to the 
rate at which the buffered messages get settled instead of simply issuing 
another fixed amount of credits to the sender, i.e. the buffer's fill ratio 
should be a factor in determining how many credits are flown to the sender(s), 
or am I mistaken?

Mit freundlichen Grüßen / Best regards

Kai Hudalla
Chief Software Architect

Bosch Software Innovations GmbH
Schöneberger Ufer 89-91
10785 Berlin
GERMANY
www.bosch-si.com

Registered office: Berlin, Register court: Amtsgericht Charlottenburg, HRB 
148411 B;
Executives: Dr.-Ing. Rainer Kallenbach, Michael Hahn

________________________________________
From: Ted Ross <[email protected]>
Sent: Friday, July 21, 2017 17:13
To: [email protected]
Subject: Re: Meaning of linkCapacity

Kai,

Please take a look at https://issues.apache.org/jira/browse/DISPATCH-781
for insight into how link capacity is used for end-to-end flow control and
a prototyped new way to use it.

A quick summary is that synchronizing credit across a network is
impractical at scale.  Instead, we use link capacity to establish local
credit loops (between endpoint and connected router) and then use delivery
settlement as the control for end-to-end flow control (and load balancing).

maxFrameSize and maxSessionFrames are for session flow control and are
completely unrelated to link/credit flow control.  linkCapacity is
therefore not related to maxFrameSize/maxSessionFrames.

-Ted

On Fri, Jul 21, 2017 at 10:27 AM, Hudalla Kai (INST/ECS4) <
[email protected]> wrote:

> Hi,
>
> I am wondering what the (practical) meaning of the "linkCapacity"
> configuration property on listeners is and in particular, how it is related
> to the "maxFrameSize" and "maxSessionFrames" properties. Do the latter ones
> pose a limit on the former one? My experience is that if I do not specify
> any value for "linkCapacity" then the Dispatch Router flows 250 credits to
> a sender link connecting to it (assuming that a consumer has connected with
> a receiver link interested in the relevant address). This number, however,
> seems to be unrelated to the number of credits the consumer has flowed to
> Dispatch Router, which lets me assume that the credits to flow to a sender
> are mainly related to, well, what exactly?
>
> Can somebody shed some light on this?
>
> Mit freundlichen Grüßen / Best regards
>
> Kai Hudalla
> Chief Software Architect
>
> Bosch Software Innovations GmbH
> Schöneberger Ufer 89-91
> 10785 Berlin
> GERMANY
> www.bosch-si.com
>
> Registered office: Berlin, Register court: Amtsgericht Charlottenburg, HRB
> 148411 B;
> Executives: Dr.-Ing. Rainer Kallenbach, Michael Hahn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

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

Reply via email to