You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Liu Shaohui (JIRA)" <ji...@apache.org> on 2014/05/30 14:12:01 UTC
[jira] [Updated] (HBASE-11263) Share the open/close store file
thread pool for all store in a region
[ https://issues.apache.org/jira/browse/HBASE-11263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Liu Shaohui updated HBASE-11263:
--------------------------------
Attachment: HBASE-11263-trunk-v1.diff
Patch for the trunk
> 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
> Affects Versions: 0.99.0
> Reporter: Liu Shaohui
> Priority: Minor
> Attachments: HBASE-11263-trunk-v1.diff
>
>
> 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)