You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2020/04/10 05:16:11 UTC
[hbase] branch branch-2.1 updated: HBASE-24151 The master server
aborted for IllegalThreadStateException (#1466)
This is an automated email from the ASF dual-hosted git repository.
stack pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 80f1072 HBASE-24151 The master server aborted for IllegalThreadStateException (#1466)
80f1072 is described below
commit 80f1072df8d22c5da00ba374f088210174cb20f4
Author: Gkkkk302 <49...@users.noreply.github.com>
AuthorDate: Fri Apr 10 13:15:59 2020 +0800
HBASE-24151 The master server aborted for IllegalThreadStateException (#1466)
Signed-off-by: stack <st...@duboce.net>
---
.../org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
index 463b410..08c6a0f 100644
--- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
+++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupBasedLoadBalancer.java
@@ -39,6 +39,7 @@ import org.apache.hadoop.hbase.constraint.ConstraintException;
import org.apache.hadoop.hbase.master.LoadBalancer;
import org.apache.hadoop.hbase.master.MasterServices;
import org.apache.hadoop.hbase.master.RegionPlan;
+import org.apache.hadoop.hbase.master.balancer.LoadBalancerFactory;
import org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer;
import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.util.ReflectionUtils;
@@ -359,6 +360,10 @@ public class RSGroupBasedLoadBalancer implements RSGroupableBalancer {
// Create the balancer
Class<? extends LoadBalancer> balancerKlass = config.getClass(HBASE_RSGROUP_LOADBALANCER_CLASS,
StochasticLoadBalancer.class, LoadBalancer.class);
+ if (balancerKlass.equals(this.getClass())) {
+ LOG.warn("The internal balancer of RSGroupBasedLoadBalancer cannot be itself, falling back to the default LoadBalancer class");
+ balancerKlass = LoadBalancerFactory.getDefaultLoadBalancerClass();
+ }
internalBalancer = ReflectionUtils.newInstance(balancerKlass, config);
internalBalancer.setMasterServices(masterServices);
internalBalancer.setClusterMetrics(clusterStatus);