Hi all,

I would like to request a review on the following PR:

JIRA: HBASE-29912 <https://issues.apache.org/jira/browse/HBASE-29912>
PR: PR#864 <https://github.com/apache/hbase/pull/7864>
First, my apologies for the long silence on this. I have not been able to
push changes until now because I was tied up with other work. I am back on
this now and will turn around review feedback quickly.

Summary of the change

This PR has 2 changes

   1. Codel lifoThreshold should be applied on soft queue limit instead of
   hard limit
   2. Change CALL_QUEUE_CODEL_DEFAULT_TARGET_DELAY to 5ms.

CoDel switches the call queue from FIFO to LIFO when the queue size reaches
a threshold. Today, the CoDel lifoThreshold is applied on the hard limit of
the queue that can be too high then soft limit.

I also believe that after HBASE-16089 the CoDel target delay was changed to
100(see original patch:
https://issues.apache.org/jira/secure/attachment/12813161/HBASE-16089.v3.patch),
which is not standard for CoDel . I have reverted it back.

To visualise why a 5ms target delay with a 100ms interval is the right
choice, I use a simulator:
https://github.com/Umeshkumar9414/hbase/blob/0056886fb540ca1cfd9035aec489a3106c47bc09/hbase-server/src/main/resources/hbase-webapps/queue-simulator/adaptive-lifo-codel-simulator.html

With target delay 100 and interval 100, the queue is far more prone to
being full. CoDel in LIFO mode is still helpful in that regime, but a
persistently full queue is itself a problem as it can lead to OOM.

Regards,
Umesh Kumar Kumawat

Reply via email to