You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2015/10/14 23:17:37 UTC
hbase git commit: HBASE-14594 Use new DNS API introduced in
HADOOP-12437 (Josh Elser)
Repository: hbase
Updated Branches:
refs/heads/master 1f6019175 -> 8c69b0f75
HBASE-14594 Use new DNS API introduced in HADOOP-12437 (Josh Elser)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8c69b0f7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8c69b0f7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8c69b0f7
Branch: refs/heads/master
Commit: 8c69b0f7514974856d8190a755b3950d8d38ce8e
Parents: 1f60191
Author: tedyu <yu...@gmail.com>
Authored: Wed Oct 14 14:17:36 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Wed Oct 14 14:17:36 2015 -0700
----------------------------------------------------------------------
.../hadoop/hbase/zookeeper/HQuorumPeer.java | 2 +-
.../java/org/apache/hadoop/hbase/AuthUtil.java | 2 +-
.../java/org/apache/hadoop/hbase/util/DNS.java | 67 ++++++++++++++++++++
.../apache/hadoop/hbase/rest/RESTServer.java | 2 +-
.../hadoop/hbase/rest/filter/AuthFilter.java | 2 +-
.../hadoop/hbase/mob/mapreduce/SweepJob.java | 2 +-
.../hbase/regionserver/RSRpcServices.java | 2 +-
.../hadoop/hbase/thrift/ThriftServerRunner.java | 2 +-
.../hadoop/hbase/thrift2/ThriftServer.java | 2 +-
9 files changed, 75 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
index b83f0e7..6127997 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java
@@ -39,8 +39,8 @@ import org.apache.hadoop.hbase.HBaseInterfaceAudience;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.classification.InterfaceStability;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.Strings;
-import org.apache.hadoop.net.DNS;
import org.apache.hadoop.util.StringUtils;
import org.apache.zookeeper.server.ServerConfig;
import org.apache.zookeeper.server.ZooKeeperServerMain;
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
index 906320e..52f872c 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
@@ -27,8 +27,8 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.classification.InterfaceStability;
import org.apache.hadoop.hbase.security.UserProvider;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.Strings;
-import org.apache.hadoop.net.DNS;
import org.apache.hadoop.security.UserGroupInformation;
/**
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DNS.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DNS.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DNS.java
new file mode 100644
index 0000000..d105a34
--- /dev/null
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DNS.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.util;
+
+import java.lang.reflect.Method;
+import java.net.UnknownHostException;
+
+import org.apache.hadoop.hbase.classification.InterfaceAudience;
+
+/**
+ * Wrapper around Hadoop's DNS class to hide reflection.
+ */
+@InterfaceAudience.Private
+public final class DNS {
+ private static boolean HAS_NEW_DNS_GET_DEFAULT_HOST_API;
+ private static Method GET_DEFAULT_HOST_METHOD;
+
+ static {
+ try {
+ GET_DEFAULT_HOST_METHOD = org.apache.hadoop.net.DNS.class
+ .getMethod("getDefaultHost", String.class, String.class, boolean.class);
+ HAS_NEW_DNS_GET_DEFAULT_HOST_API = true;
+ } catch (Exception e) {
+ HAS_NEW_DNS_GET_DEFAULT_HOST_API = false;
+ }
+ }
+
+ private DNS() {}
+
+ /**
+ * Wrapper around DNS.getDefaultHost(String, String), calling
+ * DNS.getDefaultHost(String, String, boolean) when available.
+ *
+ * @param strInterface The network interface to query.
+ * @param nameserver The DNS host name.
+ * @return The default host names associated with IPs bound to the network interface.
+ */
+ public static String getDefaultHost(String strInterface, String nameserver)
+ throws UnknownHostException {
+ if (HAS_NEW_DNS_GET_DEFAULT_HOST_API) {
+ try {
+ // Hadoop-2.8 includes a String, String, boolean variant of getDefaultHost
+ // which properly handles multi-homed systems with Kerberos.
+ return (String) GET_DEFAULT_HOST_METHOD.invoke(null, strInterface, nameserver, true);
+ } catch (Exception e) {
+ // If we can't invoke the method as it should exist, throw an exception
+ throw new RuntimeException("Failed to invoke DNS.getDefaultHost via reflection", e);
+ }
+ } else {
+ return org.apache.hadoop.net.DNS.getDefaultHost(strInterface, nameserver);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
index 27359c5..0460b0a 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RESTServer.java
@@ -38,10 +38,10 @@ import org.apache.hadoop.hbase.HBaseInterfaceAudience;
import org.apache.hadoop.hbase.http.InfoServer;
import org.apache.hadoop.hbase.rest.filter.AuthFilter;
import org.apache.hadoop.hbase.security.UserProvider;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.HttpServerUtil;
import org.apache.hadoop.hbase.util.Strings;
import org.apache.hadoop.hbase.util.VersionInfo;
-import org.apache.hadoop.net.DNS;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java
----------------------------------------------------------------------
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java
index 6d68cdd..e5208af 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/filter/AuthFilter.java
@@ -32,8 +32,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.Strings;
-import org.apache.hadoop.net.DNS;
import org.apache.hadoop.security.SecurityUtil;
import org.apache.hadoop.security.authentication.server.AuthenticationFilter;
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/SweepJob.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/SweepJob.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/SweepJob.java
index b0c3956..6d06dfc 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/SweepJob.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/mapreduce/SweepJob.java
@@ -56,6 +56,7 @@ import org.apache.hadoop.hbase.mob.MobUtils;
import org.apache.hadoop.hbase.regionserver.BloomType;
import org.apache.hadoop.hbase.regionserver.StoreFile;
import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.FSUtils;
import org.apache.hadoop.hbase.util.Strings;
@@ -70,7 +71,6 @@ import org.apache.hadoop.io.serializer.JavaSerialization;
import org.apache.hadoop.io.serializer.WritableSerialization;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.output.NullOutputFormat;
-import org.apache.hadoop.net.DNS;
import org.apache.hadoop.security.Credentials;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.zookeeper.KeeperException;
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index d00c65e..28c1f45 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -168,6 +168,7 @@ import org.apache.hadoop.hbase.regionserver.wal.WALEdit;
import org.apache.hadoop.hbase.security.User;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Counter;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;
@@ -176,7 +177,6 @@ import org.apache.hadoop.hbase.wal.WAL;
import org.apache.hadoop.hbase.wal.WALKey;
import org.apache.hadoop.hbase.wal.WALSplitter;
import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;
-import org.apache.hadoop.net.DNS;
import org.apache.zookeeper.KeeperException;
import com.google.common.annotations.VisibleForTesting;
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
index a7afc8e..342c7d1 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
@@ -98,8 +98,8 @@ import org.apache.hadoop.hbase.thrift.generated.TRowResult;
import org.apache.hadoop.hbase.thrift.generated.TScan;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.ConnectionCache;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.Strings;
-import org.apache.hadoop.net.DNS;
import org.apache.hadoop.security.SaslRpcServer.SaslGssCallbackHandler;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.authorize.ProxyUsers;
http://git-wip-us.apache.org/repos/asf/hbase/blob/8c69b0f7/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java
index 3c97166..b5e17ef 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftServer.java
@@ -61,8 +61,8 @@ import org.apache.hadoop.hbase.thrift.CallQueue;
import org.apache.hadoop.hbase.thrift.CallQueue.Call;
import org.apache.hadoop.hbase.thrift.ThriftMetrics;
import org.apache.hadoop.hbase.thrift2.generated.THBaseService;
+import org.apache.hadoop.hbase.util.DNS;
import org.apache.hadoop.hbase.util.Strings;
-import org.apache.hadoop.net.DNS;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.security.SaslRpcServer.SaslGssCallbackHandler;
import org.apache.hadoop.util.Tool;