You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2015/04/21 02:50:59 UTC
[jira] [Updated] (HBASE-8720) Only one snapshot region tasks that
can run at a time
[ https://issues.apache.org/jira/browse/HBASE-8720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell updated HBASE-8720:
----------------------------------
Resolution: Not A Problem
Status: Resolved (was: Patch Available)
> Only one snapshot region tasks that can run at a time
> -----------------------------------------------------
>
> Key: HBASE-8720
> URL: https://issues.apache.org/jira/browse/HBASE-8720
> Project: HBase
> Issue Type: Bug
> Components: snapshots
> Affects Versions: 0.94.8, 0.95.0
> Reporter: binlijin
> Attachments: 8720-v2.txt, HBASE-8720.patch
>
>
> {code}
> SnapshotSubprocedurePool(String name, Configuration conf) {
> // configure the executor service
> long keepAlive = conf.getLong(
> RegionServerSnapshotManager.SNAPSHOT_TIMEOUT_MILLIS_KEY,
> RegionServerSnapshotManager.SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
> int threads = conf.getInt(CONCURENT_SNAPSHOT_TASKS_KEY, DEFAULT_CONCURRENT_SNAPSHOT_TASKS);
> this.name = name;
> executor = new ThreadPoolExecutor(1, threads, keepAlive, TimeUnit.MILLISECONDS,
> new LinkedBlockingQueue<Runnable>(), new DaemonThreadFactory("rs("
> + name + ")-snapshot-pool"));
> taskPool = new ExecutorCompletionService<Void>(executor);
> }
> {code}
> ThreadPoolExecutor:
> corePoolSize:1
> maximumPoolSize:3
> workQueue:LinkedBlockingQueue,unlimited
> so when a new task submit to the ThreadPoolExecutor, if there is a task is running, the new task is queued in the queue, so all snapshot region tasks execute one by one.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)