You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2019/10/04 22:39:56 UTC

[hbase] branch branch-1 updated: HBASE-23116 LoadBalancer should log table name when balancing per table (#689)

This is an automated email from the ASF dual-hosted git repository.

apurtell pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-1 by this push:
     new c63b2f4  HBASE-23116 LoadBalancer should log table name when balancing per table (#689)
c63b2f4 is described below

commit c63b2f4984dd5219cab5573e7a1e5eb250a31579
Author: Bharath Vissapragada <bh...@apache.org>
AuthorDate: Fri Oct 4 15:39:50 2019 -0700

    HBASE-23116 LoadBalancer should log table name when balancing per table (#689)
    
    This commit adds table name to the logging context when
    StochasticLoadBalancer is configured "per table".
    
    Signed-off-by: Andrew Purtell <ap...@apache.org>
---
 .../hbase/master/balancer/StochasticLoadBalancer.java |  8 +++++---
 .../master/balancer/TestStochasticLoadBalancer.java   | 19 +++++++++++--------
 2 files changed, 16 insertions(+), 11 deletions(-)

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 9a6c992..68d7023 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
@@ -346,9 +346,11 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
 
     if (total <= 0 || sumMultiplier <= 0
         || (sumMultiplier > 0 && (total / sumMultiplier) < minCostNeedBalance)) {
-      LOG.info("Skipping load balancing because balanced cluster; " + "total cost is " + total
-          + ", sum multiplier is " + sumMultiplier + " min cost which need balance is "
-          + minCostNeedBalance);
+      final String loadBalanceTarget =
+          isByTable ? String.format("table (%s)", tableName) : "cluster";
+      LOG.info(String.format("Skipping load balancing because the %s is balanced. Total cost: %s, "
+          + "Sum multiplier: %s, Minimum cost needed for balance: %s", loadBalanceTarget, total,
+          sumMultiplier, minCostNeedBalance));
       return false;
     }
     return true;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java
index 31d327e..3fb69eb 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java
@@ -160,15 +160,18 @@ public class TestStochasticLoadBalancer extends BalancerTestBase {
   public void testNeedBalance() {
     float minCost = conf.getFloat("hbase.master.balancer.stochastic.minCostNeedBalance", 0.05f);
     conf.setFloat("hbase.master.balancer.stochastic.minCostNeedBalance", 1.0f);
-    loadBalancer.setConf(conf);
-    for (int[] mockCluster : clusterStateMocks) {
-      Map<ServerName, List<HRegionInfo>> servers = mockClusterServers(mockCluster);
-      List<RegionPlan> plans = loadBalancer.balanceCluster(servers);
-      assertNull(plans);
+    try {
+      loadBalancer.setConf(conf);
+      for (int[] mockCluster : clusterStateMocks) {
+        Map<ServerName, List<HRegionInfo>> servers = mockClusterServers(mockCluster);
+        List<RegionPlan> plans = loadBalancer.balanceCluster(servers);
+        assertNull(plans);
+      }
+    } finally {
+      // reset config
+      conf.setFloat("hbase.master.balancer.stochastic.minCostNeedBalance", minCost);
+      loadBalancer.setConf(conf);
     }
-    // reset config
-    conf.setFloat("hbase.master.balancer.stochastic.minCostNeedBalance", minCost);
-    loadBalancer.setConf(conf);
   }
 
   /**