Hi, Lucas,

Thanks for the KIP. A few comments below.

1. As Eno mentioned in the discussion thread, I am wondering how much of
this is still an issue after KAFKA-5642. With that fix, the requests from
the controller to the brokers are batched in all the common cases. Have you
deployed Kafka 1.1? What's the request queue time and the request queue
size that you have observed in production?

2. For the request queue, currently we can also bound it by size
through queued.max.request.bytes. Should we consider the same for the
control queue?

3. Implementation wise, currently the request handler threads just block on
the request queue when the queue is empty. With two queues, it seems that
we need to wake up a request handler thread blocked on one queue, when
another queue gets a request? Have we considered just making the request
queue a priority queue?

4. Related to 3, currently we have 2
metrics  NetworkProcessorAvgIdlePercent and RequestHandlerAvgIdlePercent
that measure the utilization of the network and the request handler thread
pools. They are computed by measuring the amount of time waiting on the
request queue. Will these 2 metrics be extended to support 2 request queues.

Jun


On Mon, Jun 18, 2018 at 1:04 PM, Lucas Wang <lucasatu...@gmail.com> wrote:

> Hi All,
>
> I've addressed a couple of comments in the discussion thread for KIP-291,
> and
> got no objections after making the changes. Therefore I would like to start
> the voting thread.
>
> KIP:
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-291%
> 3A+Have+separate+queues+for+control+requests+and+data+requests
>
> Thanks for your time!
> Lucas
>

Reply via email to