[4/8] hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread apurtell
HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Signed-off-by: tedyu 
Signed-off-by: Andrew Purtell 

Conflicts:

hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6584a76d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6584a76d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6584a76d

Branch: refs/heads/branch-2.0
Commit: 6584a76d38d3b8b3a23f488bf1f72097088a0ee1
Parents: 6214e78
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: Andrew Purtell 
Committed: Thu Nov 8 14:09:39 2018 -0800

--
 .../apache/hadoop/hbase/client/RegionInfo.java  | 22 
 .../hadoop/hbase/client/RegionInfoBuilder.java  | 10 +
 .../master/balancer/StochasticLoadBalancer.java |  6 +++---
 .../balancer/TestStochasticLoadBalancer.java|  8 ---
 4 files changed, 31 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/6584a76d/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
index 7f5d399..5bb4aef 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -271,6 +273,26 @@ public interface RegionInfo {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(@CheckForNull RegionInfo ri, byte[] 
regionName) {
+if (RegionInfo.hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
RegionInfo.encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a String of short, printable names for hris
* (usually encoded name) for us logging.

http://git-wip-us.apache.org/repos/asf/hbase/blob/6584a76d/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
index 3de9860..cd9e40b 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
@@ -287,15 +287,7 @@ public class RegionInfoBuilder {
  */
 @Override
 public String getRegionNameAsString() {
-  if (RegionInfo.hasEncodedName(this.regionName)) {
-// new format region names already have their encoded name.
-return Bytes.toStringBinary(this.regionName);
-  }
-
-  // old format. regionNameStr doesn't have the region name.
-  //
-  //
-  return Bytes.toStringBinary(this.regionName) + "." + 
this.getEncodedName();
+  return RegionInfo.getRegionNameAsString(this, this.regionName);
 }
 
 /** @return the encoded region name */

http://git-wip-us.apache.org/repos/asf/hbase/blob/6584a76d/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 b2c6629..d25d1ec 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
@@ -45,7 +45,6 @@ import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRe
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType;
 import 

[7/8] hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread apurtell
HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Amend HBASE-21439 Update RSGroup Test too

Signed-off-by: tedyu 
Signed-off-by: Andrew Purtell 

Amending-Author: Andrew Purtell 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/58e4731a
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/58e4731a
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/58e4731a

Branch: refs/heads/branch-1.4
Commit: 58e4731ac53b2e0fc98f795af96ab7e82eb3c4aa
Parents: 4d81cfe
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: Andrew Purtell 
Committed: Thu Nov 8 14:16:42 2018 -0800

--
 .../org/apache/hadoop/hbase/HRegionInfo.java| 22 
 ...cerWithStochasticLoadBalancerAsInternal.java |  2 +-
 .../master/balancer/StochasticLoadBalancer.java |  7 +++
 .../balancer/TestStochasticLoadBalancer.java|  8 ---
 4 files changed, 31 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/58e4731a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
index 8d93655..de503b5 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
@@ -48,6 +48,8 @@ import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.PairOfSameType;
 import org.apache.hadoop.io.DataInputBuffer;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 /**
  * Information about a region. A region is a range of keys in the whole 
keyspace of a table, an
  * identifier (a timestamp) for differentiating between subset ranges (after 
region split)
@@ -189,6 +191,26 @@ public class HRegionInfo implements 
Comparable {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  public static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  public static String getRegionNameAsString(@CheckForNull HRegionInfo ri, 
byte[] regionName) {
+if (hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a short, printable name for this region (usually encoded 
name) for us logging.
*/

http://git-wip-us.apache.org/repos/asf/hbase/blob/58e4731a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
--
diff --git 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
index 771b59f..4f4162c 100644
--- 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
+++ 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
@@ -84,7 +84,7 @@ public class 
TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal
   when(rl.getWriteRequestsCount()).thenReturn(0L);
   when(rl.getMemStoreSizeMB()).thenReturn(0);
   when(rl.getStorefileSizeMB()).thenReturn(0);
-  regionLoadMap.put(info.getEncodedNameAsBytes(), rl);
+  regionLoadMap.put(info.getRegionName(), rl);
 }
 when(serverMetrics.getRegionsLoad()).thenReturn(regionLoadMap);
 return serverMetrics;

http://git-wip-us.apache.org/repos/asf/hbase/blob/58e4731a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 2cfe2dc..84cf30a 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 

[8/8] hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread apurtell
HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Amend HBASE-21439 Update RSGroup Test too

Signed-off-by: tedyu 
Signed-off-by: Andrew Purtell 

Amending-Author: Andrew Purtell 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/68c93966
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/68c93966
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/68c93966

Branch: refs/heads/branch-1
Commit: 68c939668540671a925d102c79d9958f739067e4
Parents: 36178f7
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: Andrew Purtell 
Committed: Thu Nov 8 14:21:51 2018 -0800

--
 .../org/apache/hadoop/hbase/HRegionInfo.java| 22 
 ...cerWithStochasticLoadBalancerAsInternal.java |  2 +-
 .../master/balancer/StochasticLoadBalancer.java |  7 +++
 .../balancer/TestStochasticLoadBalancer.java|  8 ---
 4 files changed, 31 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/68c93966/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
index 8d93655..de503b5 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
@@ -48,6 +48,8 @@ import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.PairOfSameType;
 import org.apache.hadoop.io.DataInputBuffer;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 /**
  * Information about a region. A region is a range of keys in the whole 
keyspace of a table, an
  * identifier (a timestamp) for differentiating between subset ranges (after 
region split)
@@ -189,6 +191,26 @@ public class HRegionInfo implements 
Comparable {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  public static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  public static String getRegionNameAsString(@CheckForNull HRegionInfo ri, 
byte[] regionName) {
+if (hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a short, printable name for this region (usually encoded 
name) for us logging.
*/

http://git-wip-us.apache.org/repos/asf/hbase/blob/68c93966/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
--
diff --git 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
index 771b59f..4f4162c 100644
--- 
a/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
+++ 
b/hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/master/balancer/TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal.java
@@ -84,7 +84,7 @@ public class 
TestRSGroupBasedLoadBalancerWithStochasticLoadBalancerAsInternal
   when(rl.getWriteRequestsCount()).thenReturn(0L);
   when(rl.getMemStoreSizeMB()).thenReturn(0);
   when(rl.getStorefileSizeMB()).thenReturn(0);
-  regionLoadMap.put(info.getEncodedNameAsBytes(), rl);
+  regionLoadMap.put(info.getRegionName(), rl);
 }
 when(serverMetrics.getRegionsLoad()).thenReturn(regionLoadMap);
 return serverMetrics;

http://git-wip-us.apache.org/repos/asf/hbase/blob/68c93966/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 2cfe2dc..84cf30a 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java
+++ 

[6/8] hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread apurtell
HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Signed-off-by: tedyu 
Signed-off-by: Andrew Purtell 

Amending-Author: Andrew Purtell 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6618a40f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6618a40f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6618a40f

Branch: refs/heads/branch-1.3
Commit: 6618a40ffa89a402ccd781e52038fe7bd2ad14b2
Parents: 6f53424
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: Andrew Purtell 
Committed: Thu Nov 8 14:11:26 2018 -0800

--
 .../org/apache/hadoop/hbase/HRegionInfo.java| 22 
 .../master/balancer/StochasticLoadBalancer.java |  7 +++
 .../balancer/TestStochasticLoadBalancer.java|  8 ---
 3 files changed, 30 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/6618a40f/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
index 09ceeb9..72f9bb2 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
@@ -48,6 +48,8 @@ import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.PairOfSameType;
 import org.apache.hadoop.io.DataInputBuffer;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 /**
  * Information about a region. A region is a range of keys in the whole 
keyspace of a table, an
  * identifier (a timestamp) for differentiating between subset ranges (after 
region split)
@@ -189,6 +191,26 @@ public class HRegionInfo implements 
Comparable {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  public static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  public static String getRegionNameAsString(@CheckForNull HRegionInfo ri, 
byte[] regionName) {
+if (hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a short, printable name for this region (usually encoded 
name) for us logging.
*/

http://git-wip-us.apache.org/repos/asf/hbase/blob/6618a40f/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 d1d8fa3..9891533 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
@@ -48,7 +48,6 @@ import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.Action.T
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRegionAction;
 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.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
 
 /**
@@ -480,7 +479,8 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
 continue;
   }
   for (Entry entry : sl.getRegionsLoad().entrySet()) {
-Deque rLoads = 
oldLoads.get(Bytes.toString(entry.getKey()));
+String regionNameAsString = 
HRegionInfo.getRegionNameAsString(entry.getKey());
+Deque rLoads = oldLoads.get(regionNameAsString);
 if (rLoads == null) {
   // There was nothing there
   rLoads = new ArrayDeque();
@@ -488,8 +488,7 @@ public class StochasticLoadBalancer extends 
BaseLoadBalancer {
   rLoads.remove();
 }
 rLoads.add(entry.getValue());
-loads.put(Bytes.toString(entry.getKey()), rLoads);
-
+loads.put(regionNameAsString, rLoads);
   }
 }
 


[2/8] hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread apurtell
HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Signed-off-by: tedyu 
Signed-off-by: Andrew Purtell 

Conflicts:

hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/13b68abb
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/13b68abb
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/13b68abb

Branch: refs/heads/branch-2
Commit: 13b68abb58ff6b4c832b4639ac1cd51755164649
Parents: dcdebbf
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: Andrew Purtell 
Committed: Thu Nov 8 14:08:52 2018 -0800

--
 .../apache/hadoop/hbase/client/RegionInfo.java  | 22 
 .../hadoop/hbase/client/RegionInfoBuilder.java  | 10 +
 .../master/balancer/StochasticLoadBalancer.java |  6 +++---
 .../balancer/TestStochasticLoadBalancer.java|  8 ---
 4 files changed, 31 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/13b68abb/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
index 7f5d399..5bb4aef 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -271,6 +273,26 @@ public interface RegionInfo {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(@CheckForNull RegionInfo ri, byte[] 
regionName) {
+if (RegionInfo.hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
RegionInfo.encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a String of short, printable names for hris
* (usually encoded name) for us logging.

http://git-wip-us.apache.org/repos/asf/hbase/blob/13b68abb/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
index 3de9860..cd9e40b 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
@@ -287,15 +287,7 @@ public class RegionInfoBuilder {
  */
 @Override
 public String getRegionNameAsString() {
-  if (RegionInfo.hasEncodedName(this.regionName)) {
-// new format region names already have their encoded name.
-return Bytes.toStringBinary(this.regionName);
-  }
-
-  // old format. regionNameStr doesn't have the region name.
-  //
-  //
-  return Bytes.toStringBinary(this.regionName) + "." + 
this.getEncodedName();
+  return RegionInfo.getRegionNameAsString(this, this.regionName);
 }
 
 /** @return the encoded region name */

http://git-wip-us.apache.org/repos/asf/hbase/blob/13b68abb/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 b2c6629..d25d1ec 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
@@ -45,7 +45,6 @@ import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRe
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType;
 import 

[5/8] hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread apurtell
HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Signed-off-by: tedyu 
Signed-off-by: Andrew Purtell 

Conflicts:

hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestStochasticLoadBalancer.java


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0875fa06
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0875fa06
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0875fa06

Branch: refs/heads/branch-2.1
Commit: 0875fa0634e0c78fc0776520602eeb35ee623f80
Parents: 3a13088
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: Andrew Purtell 
Committed: Thu Nov 8 14:09:55 2018 -0800

--
 .../apache/hadoop/hbase/client/RegionInfo.java  | 22 
 .../hadoop/hbase/client/RegionInfoBuilder.java  | 10 +
 .../master/balancer/StochasticLoadBalancer.java |  6 +++---
 .../balancer/TestStochasticLoadBalancer.java|  8 ---
 4 files changed, 31 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/0875fa06/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
index 7f5d399..5bb4aef 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -271,6 +273,26 @@ public interface RegionInfo {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(@CheckForNull RegionInfo ri, byte[] 
regionName) {
+if (RegionInfo.hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
RegionInfo.encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a String of short, printable names for hris
* (usually encoded name) for us logging.

http://git-wip-us.apache.org/repos/asf/hbase/blob/0875fa06/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
index 3de9860..cd9e40b 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
@@ -287,15 +287,7 @@ public class RegionInfoBuilder {
  */
 @Override
 public String getRegionNameAsString() {
-  if (RegionInfo.hasEncodedName(this.regionName)) {
-// new format region names already have their encoded name.
-return Bytes.toStringBinary(this.regionName);
-  }
-
-  // old format. regionNameStr doesn't have the region name.
-  //
-  //
-  return Bytes.toStringBinary(this.regionName) + "." + 
this.getEncodedName();
+  return RegionInfo.getRegionNameAsString(this, this.regionName);
 }
 
 /** @return the encoded region name */

http://git-wip-us.apache.org/repos/asf/hbase/blob/0875fa06/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 b2c6629..d25d1ec 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
@@ -45,7 +45,6 @@ import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRe
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType;
 import 

hbase git commit: HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

2018-11-08 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/master a8ad61ec8 -> d9f32137b


HBASE-21439 RegionLoads aren't being used in RegionLoad cost functions

Signed-off-by: tedyu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d9f32137
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d9f32137
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d9f32137

Branch: refs/heads/master
Commit: d9f32137b6427c231eadd0eb8ea82dcbc84dadd3
Parents: a8ad61e
Author: Ben Lau 
Authored: Mon Nov 5 15:34:08 2018 -0800
Committer: tedyu 
Committed: Thu Nov 8 11:59:34 2018 -0800

--
 .../apache/hadoop/hbase/client/RegionInfo.java  | 22 
 .../hadoop/hbase/client/RegionInfoBuilder.java  | 10 +
 .../master/balancer/StochasticLoadBalancer.java |  6 +++---
 .../balancer/TestStochasticLoadBalancer.java| 10 +
 4 files changed, 32 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/d9f32137/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
index 7f5d399..5bb4aef 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfo.java
@@ -18,6 +18,8 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import edu.umd.cs.findbugs.annotations.CheckForNull;
+
 import java.io.DataInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -271,6 +273,26 @@ public interface RegionInfo {
 return encodedName;
   }
 
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(byte[] regionName) {
+return getRegionNameAsString(null, regionName);
+  }
+
+  @InterfaceAudience.Private
+  static String getRegionNameAsString(@CheckForNull RegionInfo ri, byte[] 
regionName) {
+if (RegionInfo.hasEncodedName(regionName)) {
+  // new format region names already have their encoded name.
+  return Bytes.toStringBinary(regionName);
+}
+
+// old format. regionNameStr doesn't have the region name.
+if (ri == null) {
+  return Bytes.toStringBinary(regionName) + "." + 
RegionInfo.encodeRegionName(regionName);
+} else {
+  return Bytes.toStringBinary(regionName) + "." + ri.getEncodedName();
+}
+  }
+
   /**
* @return Return a String of short, printable names for hris
* (usually encoded name) for us logging.

http://git-wip-us.apache.org/repos/asf/hbase/blob/d9f32137/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
index 3de9860..cd9e40b 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionInfoBuilder.java
@@ -287,15 +287,7 @@ public class RegionInfoBuilder {
  */
 @Override
 public String getRegionNameAsString() {
-  if (RegionInfo.hasEncodedName(this.regionName)) {
-// new format region names already have their encoded name.
-return Bytes.toStringBinary(this.regionName);
-  }
-
-  // old format. regionNameStr doesn't have the region name.
-  //
-  //
-  return Bytes.toStringBinary(this.regionName) + "." + 
this.getEncodedName();
+  return RegionInfo.getRegionNameAsString(this, this.regionName);
 }
 
 /** @return the encoded region name */

http://git-wip-us.apache.org/repos/asf/hbase/blob/d9f32137/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.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 30e4d49..cbc1a37 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
@@ -45,7 +45,6 @@ import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.AssignRe
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.LocalityType;
 import 
org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer.Cluster.MoveRegionAction;
 import