Repository: hbase Updated Branches: refs/heads/branch-1.3 48e6ad440 -> 1ae312f27
HBASE-18937 Backport HBASE-16815(Low scan ratio in RPC queue tuning triggers divide by zero exception) to branch-1.3 Signed-off-by: Chia-Ping Tsai <chia7...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1ae312f2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1ae312f2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1ae312f2 Branch: refs/heads/branch-1.3 Commit: 1ae312f270c71f7ccbc2c4c8560035e3418ccc92 Parents: 48e6ad4 Author: Ashish Singhi <ashishsin...@apache.org> Authored: Thu Oct 5 12:41:36 2017 +0530 Committer: Chia-Ping Tsai <chia7...@gmail.com> Committed: Sun Nov 19 14:58:18 2017 +0800 ---------------------------------------------------------------------- .../apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/1ae312f2/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java index 68e7b65..6970c74 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java @@ -145,10 +145,10 @@ public class RWQueueRpcExecutor extends RpcExecutor { this.scanBalancer = numScanQueues > 0 ? getBalancer(numScanQueues) : null; queues = new ArrayList<BlockingQueue<CallRunner>>(numWriteQueues + numReadQueues + numScanQueues); - LOG.debug(name + " writeQueues=" + numWriteQueues + " writeHandlers=" + writeHandlersCount + - " readQueues=" + numReadQueues + " readHandlers=" + readHandlersCount + - ((numScanQueues == 0) ? "" : " scanQueues=" + numScanQueues + - " scanHandlers=" + scanHandlersCount)); + LOG.info(name + " writeQueues=" + numWriteQueues + " writeHandlers=" + writeHandlersCount + + " readQueues=" + numReadQueues + " readHandlers=" + readHandlersCount + " scanQueues=" + + numScanQueues + " scanHandlers=" + scanHandlersCount); + if (writeQueueInitArgs.length > 0) { currentQueueLimit = (int) writeQueueInitArgs[0]; writeQueueInitArgs[0] = Math.max((int) writeQueueInitArgs[0], @@ -175,8 +175,10 @@ public class RWQueueRpcExecutor extends RpcExecutor { protected void startHandlers(final int port) { startHandlers(".write", writeHandlersCount, queues, 0, numWriteQueues, port); startHandlers(".read", readHandlersCount, queues, numWriteQueues, numReadQueues, port); - startHandlers(".scan", scanHandlersCount, queues, - numWriteQueues + numReadQueues, numScanQueues, port); + if (numScanQueues > 0) { + startHandlers(".scan", scanHandlersCount, queues, numWriteQueues + numReadQueues, + numScanQueues, port); + } } @Override