Hi Radai,

Thanks for the proposal. I think it makes sense to be able to limit the
request queue by bytes. I haven't made up my mind on whether having both
limits is better than having a single one yet, but we probably need to make
a call on that before we can start a vote.

Just a quick point with regards to ByteBoundedBlockingQueue. It's not
currently used in the code and the existing unit tests are very basic.
Also, looking at the implementation, it has two obvious bugs (it fails if
one passes None for `sizeFunction` and `currentByteSize` is not final and
it should be to comply with the JMM). So, we probably need to extend the
unit tests for that class if we want to use it (ideally there would be
multi-threaded tests too). It also is a bit inefficient as its adds
additional locks on top of the LinkedBlockingQueue ones, but the benchmarks
should hopefully show if that is something that needs to be addressed or
not.

Ismael

On Thu, Aug 4, 2016 at 7:28 PM, radai <radai.rosenbl...@gmail.com> wrote:

> Hello,
>
> I'd like to initiate a discussion about
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-72%3A+Allow+Sizing+Incoming+Request+Queue+in+Bytes
>
> The goal of the KIP is to allow configuring a bound on the capacity (as in
> bytes of memory used) of the incoming request queue, in addition to the
> current bound on the number of messages.
>
> This comes after several incidents at Linkedin where a sudden "spike" of
> large message batches caused an out of memory exception.
>
> Thank you,
>
>    Radai
>

Reply via email to