[ 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)