Liu Shaohui created HBASE-11263:
-----------------------------------

             Summary: Share the open/close store file thread pool for all store 
in a region
                 Key: HBASE-11263
                 URL: https://issues.apache.org/jira/browse/HBASE-11263
             Project: HBase
          Issue Type: Improvement
          Components: regionserver
            Reporter: Liu Shaohui
            Priority: Minor


Currently, the open/close store file thread pool is divided equally to all 
stores of a region. 
{code}
  protected ThreadPoolExecutor getStoreFileOpenAndCloseThreadPool(
      final String threadNamePrefix) {
    int numStores = Math.max(1, this.htableDescriptor.getFamilies().size());
    int maxThreads = Math.max(1,
        conf.getInt(HConstants.HSTORE_OPEN_AND_CLOSE_THREADS_MAX,
            HConstants.DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX)
            / numStores);
    return getOpenAndCloseThreadPool(maxThreads, threadNamePrefix);
  }
{code}
This is not very optimal in following scenarios:
# The data of some column families are very large and there are many hfiles in 
those stores, and others may be very small and in-memory column families. 
# Usually we preserve some column families for later needs. The thread pool for 
these column families are wasted。

The simple way is to share a big thread pool for all stores to open/close 
hfiles.  

Suggestions are welcomed. 
Thanks. 




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to