This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new c93793a845e HBASE-28881 Adding check and diagnose log for
"hbase.master.procedure.threads" when set to non-positive value (#7267)
c93793a845e is described below
commit c93793a845ebc0eb99208422095167169f1d1d8e
Author: Ariadne-team <[email protected]>
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 <[email protected]>
(cherry picked from commit 6d739b77a66be3643128540e1ce711b74d65a5b7)
---
.../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 e099760a7a8..35f212b4459 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
@@ -1803,8 +1803,15 @@ public class HMaster extends HRegionServer implements
MasterServices {
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);