From 030db2bb2fbcfb501fc437438c5561bc1ebd0657 Mon Sep 17 00:00:00 2001 From: Pierre Zemb Date: Sat, 24 Aug 2019 16:16:56 +0200 Subject: [PATCH] HBASE-22618 added the possibility to load custom cost functions --- .../balancer/StochasticLoadBalancer.java | 109 ++++++++++++------ .../master/balancer/DummyCostFunction.java | 31 +++++ .../balancer/TestStochasticLoadBalancer.java | 12 ++ 3 files changed, 118 insertions(+), 34 deletions(-) create mode 100644 hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/DummyCostFunction.java 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 065aa3eb6e..9a6c99228f 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 @@ -52,6 +52,7 @@ import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Locality import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.MoveRegionAction; import org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.SwapRegionsAction; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; +import org.apache.hadoop.hbase.util.ReflectionUtils; import com.google.common.base.Optional; @@ -81,6 +82,13 @@ import com.google.common.base.Optional; *
  • hbase.master.balancer.stochastic.storefileSizeCost
  • * * + *

    You can also add custom Cost function by setting the the following configuration value:

    + * + * + *

    All custom Cost Functions needs to extends {@link StochasticLoadBalancer.CostFunction}

    + * *

    In addition to the above configurations, the balancer can be tuned by the following * configuration values:

    *