You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2015/07/01 18:43:46 UTC
[6/6] hbase git commit: HBASE-13995 ServerName is not fully case
insensitive
HBASE-13995 ServerName is not fully case insensitive
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f9a1f104
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f9a1f104
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f9a1f104
Branch: refs/heads/branch-1.1
Commit: f9a1f104dbd3d7089b471c930bf39721056db6ce
Parents: a2b1853
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Wed Jul 1 09:20:25 2015 -0700
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Wed Jul 1 09:41:29 2015 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/ServerName.java | 4 ++--
.../java/org/apache/hadoop/hbase/TestServerName.java | 11 +++++++++++
2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/f9a1f104/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java
index dc5ba78..e7fbefb 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java
@@ -228,7 +228,7 @@ public class ServerName implements Comparable<ServerName>, Serializable {
*/
static String getServerName(String hostName, int port, long startcode) {
final StringBuilder name = new StringBuilder(hostName.length() + 1 + 5 + 1 + 13);
- name.append(hostName);
+ name.append(hostName.toLowerCase());
name.append(SERVERNAME_SEPARATOR);
name.append(port);
name.append(SERVERNAME_SEPARATOR);
@@ -313,7 +313,7 @@ public class ServerName implements Comparable<ServerName>, Serializable {
final ServerName right) {
if (left == null) return false;
if (right == null) return false;
- return left.getHostname().equals(right.getHostname()) &&
+ return left.getHostname().compareToIgnoreCase(right.getHostname()) == 0 &&
left.getPort() == right.getPort();
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/f9a1f104/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerName.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerName.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerName.java
index ec89f1c..2c90f34 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerName.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestServerName.java
@@ -107,5 +107,16 @@ public class TestServerName {
ServerName.getServerStartcodeFromServerName(sn.toString()));
}
+ @Test
+ public void testHostNameCaseSensitivity() {
+ ServerName lower = ServerName.valueOf("www.example.org", 1234, 5678);
+ ServerName upper = ServerName.valueOf("www.EXAMPLE.org", 1234, 5678);
+ assertEquals(0, lower.compareTo(upper));
+ assertEquals(0, upper.compareTo(lower));
+ assertEquals(lower.hashCode(), upper.hashCode());
+ assertTrue(lower.equals(upper));
+ assertTrue(upper.equals(lower));
+ assertTrue(ServerName.isSameHostnameAndPort(lower, upper));
+ }
}