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

Refactor RWQueueRpcExecutor/BalancedQueueRpcExecutor/RpcExecutor

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 1.4.0, 2.0.0
    • rpc, Scheduler
    • None
    • Reviewed

    Description

      1. The RWQueueRpcExecutor has eight constructor method and the longest one has ten parameters. But It is only used in SimpleRpcScheduler and easy to confused when read the code.
      2. There are duplicate method implement in RWQueueRpcExecutor and BalancedQueueRpcExecutor. They can be implemented in their parent class RpcExecutor.
      3. SimpleRpcScheduler read many configs to new RpcExecutor. But the CALL_QUEUE_SCAN_SHARE_CONF_KEY is only needed by RWQueueRpcExecutor. And CALL_QUEUE_CODEL_TARGET_DELAY, CALL_QUEUE_CODEL_INTERVAL and CALL_QUEUE_CODEL_LIFO_THRESHOLD are only needed by AdaptiveLifoCoDelCallQueue.

      So I thought we can refactor it. Suggestions are welcome.

      Review board: https://reviews.apache.org/r/53726/

      Attachments

        1. HBASE-17088-branch-1.patch
          51 kB
          Guanghao Zhang
        2. HBASE-17088-v4.patch
          49 kB
          Guanghao Zhang
        3. HBASE-17088-v4.patch
          49 kB
          Guanghao Zhang
        4. HBASE-17088-v3.patch
          49 kB
          Guanghao Zhang
        5. HBASE-17088-v3.patch
          49 kB
          Guanghao Zhang
        6. HBASE-17088-v2.patch
          49 kB
          Guanghao Zhang
        7. HBASE-17088-v1.patch
          49 kB
          Guanghao Zhang

        Activity

          People

            zghao Guanghao Zhang
            zghao Guanghao Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: