[ 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)