Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-22559

[RPC] set guard against CALL_QUEUE_HANDLER_FACTOR_CONF_KEY

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.0, 2.3.0, 2.2.1, 1.4.11
    • Component/s: rpc
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      CALL_QUEUE_HANDLER_FACTOR_CONF_KEY is hbase.ipc.server.callqueue.handler.factor, a float number, which is supposed between [0.0, 1.0].

      If it is greater than 1, for example, 2.0, the call queues and handlers will be expanded twice:

      float callQueuesHandlersFactor = this.conf.getFloat(CALL_QUEUE_HANDLER_FACTOR_CONF_KEY, 0);
      this.numCallQueues = computeNumCallQueues(handlerCount, callQueuesHandlersFactor);
      this.handlerCount = Math.max(handlerCount, this.numCallQueues);
      
      protected int computeNumCallQueues(final int handlerCount, final float callQueuesHandlersFactor) {
        return Math.max(1, (int) Math.round(handlerCount * callQueuesHandlersFactor));
      }
      

      We already have hbase.regionserver.handler.count set, what mentioned above looks tricky.

      The purpose of this conf is to control how many handlers can share one call queue, expanding the number of handlers (a kind of side-effects) is not included, from my understanding.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                reidchan Reid Chan
                Reporter:
                reidchan Reid Chan
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: