Geoffrey Jacoby created HBASE-23744:
---------------------------------------
Summary: FastPathBalancedQueueRpcExecutor should enforce queue
length of 0
Key: HBASE-23744
URL: https://issues.apache.org/jira/browse/HBASE-23744
Project: HBase
Issue Type: Bug
Reporter: Geoffrey Jacoby
Assignee: Geoffrey Jacoby
FastPathBalancedQueueRpcExecutor allows RPC requests to skip the RPC queue and
get worked by an available handler under certain circumstances.
Relatedly, the hbase.ipc.server.max.callqueue.length parameter can be set to 0,
including dynamically. When this is the case the executor is supposed to block
all dispatching. However, the FastPathBalancedQueueRpcExecutor will still
dispatch the request if one of the "fast path" handlers is available on its
stack. This both isn't the desired effect, and also makes
TestSimpleRpcExecutor.testSoftAndHardQueueLimits unstable when it checks the
queue length 0 behavior.
A simple fix is just to check max queue length > 0 before
FastPathBalancedQueueRpcExecutor pops the fast handler off the stack.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)