Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 5DB4C2004F5 for ; Fri, 1 Sep 2017 19:16:57 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5C04716D64D; Fri, 1 Sep 2017 17:16:57 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A193016D646 for ; Fri, 1 Sep 2017 19:16:56 +0200 (CEST) Received: (qmail 36477 invoked by uid 500); 1 Sep 2017 17:16:55 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 36468 invoked by uid 99); 1 Sep 2017 17:16:55 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Sep 2017 17:16:55 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5354CF32EA; Fri, 1 Sep 2017 17:16:55 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: tedyu@apache.org To: commits@hbase.apache.org Message-Id: <5281965d631546cc87b517bc953f189e@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: hbase git commit: HBASE-18646 [Backup] LogRollMasterProcedureManager: make procedure timeout, thread pool size configurable (Vladimir Rodionov) Date: Fri, 1 Sep 2017 17:16:55 +0000 (UTC) archived-at: Fri, 01 Sep 2017 17:16:57 -0000 Repository: hbase Updated Branches: refs/heads/master 7550c64ac -> 19bb4ef48 HBASE-18646 [Backup] LogRollMasterProcedureManager: make procedure timeout, thread pool size configurable (Vladimir Rodionov) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/19bb4ef4 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/19bb4ef4 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/19bb4ef4 Branch: refs/heads/master Commit: 19bb4ef487407cdf59a3f3c5bbef6dd8b917b682 Parents: 7550c64 Author: tedyu Authored: Fri Sep 1 10:16:48 2017 -0700 Committer: tedyu Committed: Fri Sep 1 10:16:48 2017 -0700 ---------------------------------------------------------------------- .../master/LogRollMasterProcedureManager.java | 28 +++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/19bb4ef4/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/LogRollMasterProcedureManager.java ---------------------------------------------------------------------- diff --git a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/LogRollMasterProcedureManager.java b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/LogRollMasterProcedureManager.java index 47e428c..88c3455 100644 --- a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/LogRollMasterProcedureManager.java +++ b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/master/LogRollMasterProcedureManager.java @@ -25,6 +25,7 @@ import java.util.concurrent.ThreadPoolExecutor; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CoordinatedStateManagerFactory; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.backup.BackupRestoreConstants; @@ -50,11 +51,17 @@ import org.apache.zookeeper.KeeperException; */ @InterfaceAudience.Private public class LogRollMasterProcedureManager extends MasterProcedureManager { + private static final Log LOG = LogFactory.getLog(LogRollMasterProcedureManager.class); public static final String ROLLLOG_PROCEDURE_SIGNATURE = "rolllog-proc"; public static final String ROLLLOG_PROCEDURE_NAME = "rolllog"; - private static final Log LOG = LogFactory.getLog(LogRollMasterProcedureManager.class); + public static final String BACKUP_WAKE_MILLIS_KEY = "hbase.backup.logroll.wake.millis"; + public static final String BACKUP_TIMEOUT_MILLIS_KEY = "hbase.backup.logroll.timeout.millis"; + public static final String BACKUP_POOL_THREAD_NUMBER_KEY = "hbase.backup.logroll.pool.thread.number"; + public static final int BACKUP_WAKE_MILLIS_DEFAULT = 500; + public static final int BACKUP_TIMEOUT_MILLIS_DEFAULT = 180000; + public static final int BACKUP_POOL_THREAD_NUMBER_DEFAULT = 8; private MasterServices master; private ProcedureCoordinator coordinator; private boolean done; @@ -77,16 +84,25 @@ public class LogRollMasterProcedureManager extends MasterProcedureManager { // setup the default procedure coordinator String name = master.getServerName().toString(); - ThreadPoolExecutor tpool = ProcedureCoordinator.defaultPool(name, 1); + + + // get the configuration for the coordinator + Configuration conf = master.getConfiguration(); + long wakeFrequency = conf.getInt(BACKUP_WAKE_MILLIS_KEY, BACKUP_WAKE_MILLIS_DEFAULT); + long timeoutMillis = conf.getLong(BACKUP_TIMEOUT_MILLIS_KEY,BACKUP_TIMEOUT_MILLIS_DEFAULT); + int opThreads = conf.getInt(BACKUP_POOL_THREAD_NUMBER_KEY, + BACKUP_POOL_THREAD_NUMBER_DEFAULT); + + // setup the default procedure coordinator + ThreadPoolExecutor tpool = ProcedureCoordinator.defaultPool(name, opThreads); BaseCoordinatedStateManager coordManager = (BaseCoordinatedStateManager) CoordinatedStateManagerFactory - .getCoordinatedStateManager(master.getConfiguration()); + .getCoordinatedStateManager(master.getConfiguration()); coordManager.initialize(master); - ProcedureCoordinatorRpcs comms = coordManager.getProcedureCoordinatorRpcs(getProcedureSignature(), name); + this.coordinator = new ProcedureCoordinator(comms, tpool, timeoutMillis, wakeFrequency); - this.coordinator = new ProcedureCoordinator(comms, tpool); } @Override @@ -152,4 +168,4 @@ public class LogRollMasterProcedureManager extends MasterProcedureManager { return done; } -} \ No newline at end of file +}