HBASE-27683 Should support single call queue mode for RPC handlers wh…#5259
HBASE-27683 Should support single call queue mode for RPC handlers wh…#5259sunhelly wants to merge 1 commit intoapache:masterfrom
Conversation
…ile separating by request type
|
💔 -1 overall
This message was automatically generated. |
|
🎊 +1 overall
This message was automatically generated. |
|
💔 -1 overall
This message was automatically generated. |
| writeHandlersCount = Math.max(numWriteQueues, calcNumWriters(handlerCount, callqReadShare)); | ||
|
|
||
| int readQueues = calcNumReaders(this.numCallQueues, callqReadShare); | ||
| int readQueues = callqReadShare > 0 ? |
There was a problem hiding this comment.
What is the return value of calcNumReaders if callqReadShare is 0?
There was a problem hiding this comment.
If callqReadShare==0, it will not be an instance of RWQueueRpcExecutor, then will not call calcNumReaders. But readQueues will be 0 under other circumstances by the origin design, when the numCallQueues=1 and numWriteQueues=1.
There was a problem hiding this comment.
What do you mean by "will not call calcNumReaders"? Either in the old code or in your new code, we will always call the calcNumReaders method?
There was a problem hiding this comment.
Thanks. I think when callqReadShare is 0, the RpcExecutor will be FastPathBalancedQueueRpcExecutor by default (see SimpleRpcScheduler line 88), not based on RWQueueRpcExecutor(which by default will create FastPathRWQueueRpcExecutor), and then there are not distinguished queues, all queues serve for read and write.
…ile separating by request type