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)