[
https://issues.apache.org/jira/browse/HBASE-15765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15271154#comment-15271154
]
Enis Soztutar commented on HBASE-15765:
---------------------------------------
bq. Can you be a bit more specific? So high priority pools could borrow
handlers from low(er) priority pools? But not the other way, right? Or else
we'd need preemption to avoid problems with priority inversion.
Yes. We always want to reserve the high priority handlers to be accepting only
high priority requests. Normal priority handlers though should be able to
handle requests from the higher priority queues if they are available. Even
within the same priority level, we do sharding of queues, so if a Call ends up
in one shard, the handlers for the other shard cannot process those.
> RPC handlers should steal from other queues in the same or higher priority
> --------------------------------------------------------------------------
>
> Key: HBASE-15765
> URL: https://issues.apache.org/jira/browse/HBASE-15765
> Project: HBase
> Issue Type: Improvement
> Reporter: Enis Soztutar
>
> With the simple rpc scheduler model by default, a request first falls in one
> type of queue (priority, general, replication) and it will get "sharded" in a
> queue within that priority level (for example there are 2 queues for the high
> priority level). The handlers can only take from their specific queues, and
> nothing else.
> Even if a request is waiting in a high priority queue, the handlers within
> the same priority level or a lower priority level will not see these requests
> (which is the root cause for HBASE-15613). We should be able to steal from
> other queues, without losing the prioritization and sharding benefits.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)