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

Xiaolin Ha updated HBASE-27766:
-------------------------------
    Description: 
Currently, the RPC queues are distinguished by request type, under most 
circumstances of RWQueueRpcExecutor, there are write queues and read queues, 
while reads queues are always divided by get requests and scan requests. The 
reason why we isolate the scan requests and get requests is that we do not want 
large scans block small gets.

Since the handler resources for a regionserver is limited and we can't 
dynamicly change the handler ratio by the ratio of requests. We should both 
keep large scan and the small gets be isolated, and let the idle handlers for 
the samller ratio scans to handle some gets when the gets handlers are busy.

This steal queue idea can also used in other circumstances, e.g. idle read 
handler steal jobs from write queus. 

  was:
Currently, the RPC queues are distinguished by request type, under most 
circumstances of RWQueueRpcExecutor, there are write queues and read queues, 
while reads queues are always divided by get requests and scan requests. The 
reason why we isolate the scan requests and get requests is that we do not want 
large scans block small gets.

Since the handler resources for a regionserver is limited and we can't 
dynamicly change the handler ratio by the ratio of requests. We should both 
keep large scan the small gets be isolated, and let the idle handlers for the 
samller ratio scans to handle some gets when the gets handlers are busy.

This steal queue idea can also used in other circumstances, e.g. idle read 
handler steal jobs from write queus. 


> Support steal job queue mode for read RPC queues of RWQueueRpcExecutor
> ----------------------------------------------------------------------
>
>                 Key: HBASE-27766
>                 URL: https://issues.apache.org/jira/browse/HBASE-27766
>             Project: HBase
>          Issue Type: Improvement
>          Components: rpc
>    Affects Versions: 3.0.0-alpha-3, 2.5.3
>            Reporter: Xiaolin Ha
>            Assignee: Xiaolin Ha
>            Priority: Major
>
> Currently, the RPC queues are distinguished by request type, under most 
> circumstances of RWQueueRpcExecutor, there are write queues and read queues, 
> while reads queues are always divided by get requests and scan requests. The 
> reason why we isolate the scan requests and get requests is that we do not 
> want large scans block small gets.
> Since the handler resources for a regionserver is limited and we can't 
> dynamicly change the handler ratio by the ratio of requests. We should both 
> keep large scan and the small gets be isolated, and let the idle handlers for 
> the samller ratio scans to handle some gets when the gets handlers are busy.
> This steal queue idea can also used in other circumstances, e.g. idle read 
> handler steal jobs from write queus. 



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

Reply via email to