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

A ThreadPoolExecutor with a LinkedBlockingQueue cannot execute tasks concurrently

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • regionserver
    • None
    • Reviewed

    Description

      In FlushTableSubprocedurePool and SnapshotSubprocedurePool, the ThreadPoolExecutor with a LinkedBlockingQueue is used, and it's corePoolSize and maximumPoolSize are not the same, which can cause the if the number of tasks is larger than corePoolSize, those tasks cannot be executed until old tasks are finished and the number of running tasks is less than corePoolSize. We should use the same value for the corePoolSize and maximumPoolSize if the LinkedBlockingQueue is used.

      Attachments

        1. HBASE-14478.patch
          2 kB
          Jingcheng Du

        Issue Links

          Activity

            People

              jingcheng.du@intel.com Jingcheng Du
              jingcheng.du@intel.com Jingcheng Du
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: