Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.0.0-alpha-3, 2.5.3
-
None
-
None
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 be used in other circumstances, e.g. idle read handler steal jobs from write queus.
Attachments
Issue Links
- links to