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
