diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java index 000a185dab7..b40779ade23 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java @@ -249,7 +249,7 @@ public class StochasticLoadBalancer extends BaseLoadBalancer { costFunctions.addAll(Arrays.stream(functionsNames).map(c -> { Class klass = null; try { - klass = (Class) Class.forName(c); + klass = Class.forName(c).asSubclass(CostFunction.class); } catch (ClassNotFoundException e) { LOG.warn("Cannot load class " + c + "': " + e.getMessage()); }