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

[RPC] set guard against CALL_QUEUE_HANDLER_FACTOR_CONF_KEY

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.5.0, 2.3.0, 2.2.1, 1.4.11
    • rpc
    • None
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: