This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 6d739b77a66be3643128540e1ce711b74d65a5b7 Author: Ariadne-team <3631176...@qq.com> AuthorDate: Wed Sep 3 09:44:29 2025 +0800 HBASE-28881 Adding check and diagnose log for "hbase.master.procedure.threads" when set to non-positive value (#7267) Signed-off-by: Duo Zhang <zhang...@apache.org> --- .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index 317f571ba8a..1cda553a81d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -1867,8 +1867,15 @@ public class HMaster extends HBaseServerBase<MasterRpcServices> implements Maste configurationManager.registerObserver(procEnv); int cpus = Runtime.getRuntime().availableProcessors(); - final int numThreads = conf.getInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, Math.max( - (cpus > 0 ? cpus / 4 : 0), MasterProcedureConstants.DEFAULT_MIN_MASTER_PROCEDURE_THREADS)); + int defaultNumThreads = Math.max((cpus > 0 ? cpus / 4 : 0), + MasterProcedureConstants.DEFAULT_MIN_MASTER_PROCEDURE_THREADS); + int numThreads = + conf.getInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, defaultNumThreads); + if (numThreads <= 0) { + LOG.warn("{} is set to {}, which is invalid, using default value {} instead", + MasterProcedureConstants.MASTER_PROCEDURE_THREADS, numThreads, defaultNumThreads); + numThreads = defaultNumThreads; + } final boolean abortOnCorruption = conf.getBoolean(MasterProcedureConstants.EXECUTOR_ABORT_ON_CORRUPTION, MasterProcedureConstants.DEFAULT_EXECUTOR_ABORT_ON_CORRUPTION);