OASIS Open Mailing List Archives  ·  All Lists  ·  amqp  ·  2019-03

amqp — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

AW: [amqp] Size-based link flow control


The session flow control has frame-size resolution and we also use that to cap memory use in the gateway. The links end up interacting with the respective link target s backend processor/storage. We do have the scenario where a single inbound session carries a bundle of links where each link talks to a different backend. For that, the team wants finer grained flow control metric than a message count. Von: Alan Conway <[email protected]> Gesendet: Freitag, 8. MÃrz 2019 12:46 An: Clemens Vasters <[email protected]> Cc: [email protected] Betreff: Re: [amqp] Size-based link flow control Qpid Dispatch uses the existing byte-based session flow control to bound its memory use. It does effectively block clients that send a lot of bytes - regardless of whether it is many small messages or some very large ones. Why do you need a per-link limit on top of that? A per-link limit allows senders that create a ton of links to blow up the receiver. Of course a malicious sender could create a ton of sessions, but that's much less likely to happen by accident, and the max number of sessions is easy to limit giving you a guaranteed upper-bound on memory per connection. On Fri, Mar 8, 2019 at 2:34 PM Clemens Vasters < [email protected] > wrote: Our engineering team has the strong desire to add a flow control mode where link-credit is counted in bytes rather than in number of messages. We re occasionally getting into the situation where we re being hammered with a ton of large messages all at once and team is convinced that a byte-oriented credit counter could allow for tighter control of what the client are allowed to push. For session-based flow control, the permitted windows we need are also too big. The Flow control section 2.6.7. in the core spec is surprisingly vague and doesn t have a hard reference to link-credit being a message counter. The only hard reference seems to be is in 2.7.4. where the link-credit section says that The current maximum number of messages that can be handled at the receiver endpoint of the link So we re thinking about an extra spec with a layered-on capability that allows for reinterpretation of link-credit and delivery-count as counts of bytes. Thoughts?

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]