Subject: [DISCUSS] KIP-612: Ability to Limit Connection Creation Rate on Brokers


Hi Anna,

Thanks for the KIP! I have few questions:

1. You mention that some clients may create a new connections for each
requests: "Another example is clients that create a new connection for each
produce/consume request". I am curious here but do we know any clients
behaving like this?

2. I am a bit concerned by the impact of misbehaving clients on the other
ones. Let's say that we define a quota of 10 connections / sec for a broker
and that we have a misbehaving application constantly trying to create 20
connections on that broker. That application will constantly hit the quota
and
always have many pending connections in the queue waiting to be accepted.
Regular clients trying to connect would need to wait until all the pending
connections upfront in the queue are drained in the best case scenario or
won't be able to connect at all in the worst case scenario if the queue is
full.
Does it sound like a valid concern? How do you see this?

3. As you mention it in the KIP, we use bounded queues which already limit
the maximum number of connections that can be accepted. I wonder if we
could reach the same goal by making the size of the queue configurable.

4. Did you consider doing something similar to the connections quota which
limits the number of connections per IP? Instead of rate limiting all the
creation,
we could perhaps rate limit the number of creation per IP as well. That
could
perhaps reduce the effect on the other clients. That may be harder to
implement
though.

Best,
David

On Mon, May 11, 2020 at 7:58 PM Anna Povzner <[EMAIL PROTECTED]> wrote: