frostruan commented on code in PR #7261:
URL: https://github.com/apache/hbase/pull/7261#discussion_r2346663207


##########
hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/MetaRWQueueRpcExecutor.java:
##########
@@ -46,6 +50,23 @@ protected float getReadShare(final Configuration conf) {
 
   @Override
   protected float getScanShare(final Configuration conf) {
-    return conf.getFloat(META_CALL_QUEUE_SCAN_SHARE_CONF_KEY, 0);
+    return conf.getFloat(META_CALL_QUEUE_SCAN_SHARE_CONF_KEY, 
DEFAULT_META_CALL_QUEUE_SCAN_SHARE);
+  }
+
+  @Override
+  public boolean dispatch(CallRunner callTask) {
+    RpcCall call = callTask.getRpcCall();
+    int level = call.getHeader().getPriority();
+    final boolean toWriteQueue = isWriteRequest(call.getHeader(), 
call.getParam());
+    // dispatch client system read request to read handlers
+    // dispatch internal system read request to scan handlers
+    final boolean toScanQueue =
+      getNumScanQueues() > 0 && level == 
RSAnnotationReadingPriorityFunction.INTERNAL_READ_QOS;
+    return dispatchTo(toWriteQueue, toScanQueue, callTask);
+  }
+
+  @Override
+  protected float getCallQueueHandlerFactor(Configuration conf) {
+    return conf.getFloat(META_CALL_QUEUE_HANDLER_FACTOR_CONF_KEY, 0.5f);

Review Comment:
   My initial thinking was that because we always cache meta table in memory, 
meta handlers would have lower latency than regular handlers. So, a larger 
handler factor would make meta handlers more efficient compared to regular 
handlers because it would reducce thread synchronization cost when consuming 
queues. I haven't tested this, it is just speculation.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@hbase.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to