[
https://issues.apache.org/jira/browse/HBASE-11724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14095731#comment-14095731
]
Jonathan Hsieh commented on HBASE-11724:
----------------------------------------
Without reading the code, this is ambiguous - what does 0 or 1 specifically
mean? what is the default setting? does 0 mean get+scan shared, and 1 mean
separate? is it a float? (it is) I it a sub share of
h.i.s.callqueue.read.share or is it at the "same level"? (it is not).
(related question - is hbase.ipc.server.callqueue.read.share a float or is it
specifically 0, 0.5 and 1.0 values?)
{code}
+ <name>hbase.ipc.server.callqueue.scan.share</name>
+ <value>0</value>
+ <description>Used in conjunction with hbase.ipc.server.callqueue.read.share
+ will split the read call queues into small-read and long-read queues.
+ A value of 0 or 1 indicate to use the same set of queues for gets and
scans.
+ </description>
{code}
can we get to a place where scan or gets receive no share? What happens then?
{code}
+ int numScanQueues = (int)Math.floor(numReadQueues * scanShare);
+ int scanHandlers = (int)Math.floor(readHandlers * scanShare);
+ if ((numReadQueues - numScanQueues) > 0) {
+ numReadQueues -= numScanQueues;
+ readHandlers -= scanHandlers;
+ } else {
+ numScanQueues = 0;
+ scanHandlers = 0;
+ }
+
this.writeHandlersCount = Math.max(writeHandlers, numWriteQueues);
this.readHandlersCount = Math.max(readHandlers, numReadQueues);
+ this.scanHandlersCount = Math.max(scanHandlers, numScanQueues);
this.numWriteQueues = numWriteQueues;
this.numReadQueues = numReadQueues;
+ this.numScanQueues = numScanQueues;
{code}
Need some validation to make sure negative values or other silly values throw
warnings and don't cause problems.
{code}
String callQueueType = conf.get(CALL_QUEUE_TYPE_CONF_KEY,
CALL_QUEUE_TYPE_DEADLINE_CONF_VALUE);
float callqReadShare = conf.getFloat(CALL_QUEUE_READ_SHARE_CONF_KEY, 0);
+ float callqScanShare = conf.getFloat(CALL_QUEUE_SCAN_SHARE_CONF_KEY, 0);
{code}
> Add to RWQueueRpcExecutor the ability to split get and scan handlers
> --------------------------------------------------------------------
>
> Key: HBASE-11724
> URL: https://issues.apache.org/jira/browse/HBASE-11724
> Project: HBase
> Issue Type: New Feature
> Components: IPC/RPC
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Priority: Minor
> Fix For: 2.0.0
>
> Attachments: HBASE-11724-v0.patch
>
>
> RWQueueRpcExecutor has the devision between reads and writes requests, but we
> can split also small-reads and long-reads. This can be useful to force a
> deprioritization of scans on the RS.
--
This message was sent by Atlassian JIRA
(v6.2#6252)