[ 
https://issues.apache.org/jira/browse/HBASE-27676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xiaolin Ha updated HBASE-27676:
-------------------------------
    Fix Version/s: 2.6.0
                   3.0.0-alpha-4
                   2.4.17
                   2.5.4

> Scan handlers in the RPC executor should match at least one scan queues
> -----------------------------------------------------------------------
>
>                 Key: HBASE-27676
>                 URL: https://issues.apache.org/jira/browse/HBASE-27676
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 2.5.3
>            Reporter: Xiaolin Ha
>            Assignee: Xiaolin Ha
>            Priority: Major
>             Fix For: 2.6.0, 3.0.0-alpha-4, 2.4.17, 2.5.4
>
>
> This issue is try to avoid NO scan queues for some scan handlers.
> For example, if we set hbase.regionserver.handler.count=150, 
> hbase.ipc.server.callqueue.scan.ratio=0.1, 
> hbase.ipc.server.callqueue.read.ratio=0.5, 
> hbase.ipc.server.callqueue.handler.factor=0.1, then there will be 150 * 0.5 * 
> 0.1 = 7 scan handlers, but there are 150 * 0.1 * 0.5 * 0.1 = 0 scan RPC 
> queues.
> When there are no scan rpc queues, all the scan and get requests will be 
> dispatched to the read rpc queues, while we we thought they had been dealt 
> with separately, since the scan handler count is not 0. When there are not 
> enough handlers for large scan requests under this circumstance, the small 
> get requests will be blocked in the rpc queues.
> We can see from the codes,
> {code:java}
> int scanQueues = Math.max(0, (int) Math.floor(readQueues * callqScanShare));
> int scanHandlers = Math.max(0, (int) Math.floor(readHandlers * 
> callqScanShare));
> if ((readQueues - scanQueues) > 0) {
>   readQueues -= scanQueues;
>   readHandlers -= scanHandlers;
> } else {
>   scanQueues = 0;
>   scanHandlers = 0;
> } {code}
> when readQueues * callqScanShare < 1 but readHandlers * callqScanShare > 1, 
> there will be some iddle scan handlers with NO scan queues.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to