[ https://issues.apache.org/jira/browse/HBASE-12071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14266573#comment-14266573 ]
Nick Dimiduk commented on HBASE-12071: -------------------------------------- What's the thinking on increasing the number of queues to 2? {noformat} - this.priorityExecutor = - priorityHandlerCount > 0 ? new BalancedQueueRpcExecutor("Priority", priorityHandlerCount, - 1, maxQueueLength, conf, abortable) : null; + // Create 2 queues to help priorityExecutor be more scalable. + this.priorityExecutor = priorityHandlerCount > 0 ? + new BalancedQueueRpcExecutor("Priority", priorityHandlerCount, 2, maxQueueLength) : null; {noformat} It's probably worth while turning priority into a protobuf enum. I don't know if we can do that, given that RequestHeader.priority is already defined as a uint32. The docs say valid enum value range is 32-bit signed int, so maybe we'd have to deprecate the existing field? Someone who knows more about protobuf, any thoughts here? Other question: can we move the QosPriority annotations over to the BlockingInterfaces? Maybe not since they're generated protobuf... Otherwise, +1. You test all this out [~syuanjiang]? Working as expected? > Separate out thread pool for Master <-> RegionServer communication > ------------------------------------------------------------------ > > Key: HBASE-12071 > URL: https://issues.apache.org/jira/browse/HBASE-12071 > Project: HBase > Issue Type: Improvement > Affects Versions: 2.0.0, 1.1.0 > Reporter: Sudarshan Kadambi > Assignee: Stephen Yuan Jiang > Labels: reliablity > Fix For: 2.0.0, 1.1.0 > > Attachments: HBASE-12071.v1-branch-1.patch, > HBASE-12071.v2-master.patch, HBASE-12071.v2-master.patch, > HBASE-12071.v3-master.patch, HBASE-12071.v4-master.patch, > HBASE-12071.v5-master.patch > > > Over in HBASE-12028, there is a discussion about the case of a RegionServer > still being alive despite all its handler threads being dead. One outcome of > this is that the Master is left hanging on the RS for completion of various > operations - such as region un-assignment when a table is disabled. Does it > make sense to create a separate thread pool for communication between the > Master and the RS? This addresses not just the case of the RPC handler > threads terminating but also long-running queries or co-processor executions > holding up master operations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)