HBase
  1. HBase
  2. HBASE-2141

Flexible thread pool for RPC server

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: IPC/RPC
    • Labels:
      None

      Description

      Having a bounded thread pool is important, so availability can degrade gracefully (more or less), as opposed to the whole regionserver becoming livelocked. But, we don't need for the pool to be preallocated as is done currently. How about changing the RPC server thread pool such that the user can specify a minimum and maximum number of handler threads? The pool would start with the minimum, allocate more up to the max to handle additional concurrency, then terminate unused threads after some time back down to the minimum. Then we can do things like set a maximum of 100 handlers or such without taking on the overhead of 100 threads until it is needed.

        Issue Links

          Activity

          Hide
          stack added a comment -

          Moving out of 0.92.0. Pull it back in if you think different.

          Show
          stack added a comment - Moving out of 0.92.0. Pull it back in if you think different.
          Hide
          stack added a comment -

          Moved from 0.21 to 0.22 just after merge of old 0.20 branch into TRUNK.

          Show
          stack added a comment - Moved from 0.21 to 0.22 just after merge of old 0.20 branch into TRUNK.
          Hide
          stack added a comment -

          For me, I'm not that mad about doing dev on hadoop rpc, or our subclass of it. I think we should start over. Start with an nio2-based rpc. Growing the children as per apache1 or bounding the threads allowed in as per apache2 can be a feature of the new rpc.

          Show
          stack added a comment - For me, I'm not that mad about doing dev on hadoop rpc, or our subclass of it. I think we should start over. Start with an nio2-based rpc. Growing the children as per apache1 or bounding the threads allowed in as per apache2 can be a feature of the new rpc.
          Hide
          Jean-Daniel Cryans added a comment -

          This also helps with debugging jstacks so that if the user never uses 100 handlers but configured 100 then it's more pain to read through.

          Show
          Jean-Daniel Cryans added a comment - This also helps with debugging jstacks so that if the user never uses 100 handlers but configured 100 then it's more pain to read through.

            People

            • Assignee:
              Unassigned
              Reporter:
              Andrew Purtell
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:

                Development