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)