Repository: hadoop Updated Branches: refs/heads/branch-2 bc5ee8079 -> aca014ea6
HDFS-9112. Improve error message for Haadmin when multiple name service IDs are configured. Contributed by Anu Engineer. (cherry picked from commit 83e99d06d0e5a71888aab33e9ae47460e9f1231f) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/aca014ea Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/aca014ea Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/aca014ea Branch: refs/heads/branch-2 Commit: aca014ea675d2d86857675206c4650e38d8cd7b7 Parents: bc5ee80 Author: Jing Zhao <[email protected]> Authored: Fri Sep 25 14:21:23 2015 -0700 Committer: Jing Zhao <[email protected]> Committed: Fri Sep 25 14:21:52 2015 -0700 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../apache/hadoop/hdfs/tools/NNHAServiceTarget.java | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/aca014ea/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 0aac1a1..3df32dc00 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -617,6 +617,9 @@ Release 2.8.0 - UNRELEASED HDFS-5795. RemoteBlockReader2#checkSuccess() shoud print error status. (Xiao Chen via Yongjun Zhang) + HDFS-9112. Improve error message for Haadmin when multiple name service IDs + are configured. (Anu Engineer via jing9) + OPTIMIZATIONS HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than http://git-wip-us.apache.org/repos/asf/hadoop/blob/aca014ea/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/NNHAServiceTarget.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/NNHAServiceTarget.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/NNHAServiceTarget.java index 6615a4f..247ac02 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/NNHAServiceTarget.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/NNHAServiceTarget.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs.tools; import java.net.InetSocketAddress; +import java.util.Arrays; import java.util.Map; import org.apache.hadoop.classification.InterfaceAudience; @@ -34,6 +35,8 @@ import org.apache.hadoop.net.NetUtils; import com.google.common.base.Preconditions; +import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_NAMESERVICES; + /** * One of the NN NameNodes acting as the target of an administrative command * (e.g. failover). @@ -56,12 +59,19 @@ public class NNHAServiceTarget extends HAServiceTarget { public NNHAServiceTarget(Configuration conf, String nsId, String nnId) { Preconditions.checkNotNull(nnId); - + if (nsId == null) { nsId = DFSUtil.getOnlyNameServiceIdOrNull(conf); if (nsId == null) { - throw new IllegalArgumentException( - "Unable to determine the nameservice id."); + String errorString = "Unable to determine the name service ID."; + String[] dfsNames = conf.getStrings(DFS_NAMESERVICES); + if ((dfsNames != null) && (dfsNames.length > 1)) { + errorString = "Unable to determine the name service ID. " + + "This is an HA configuration with multiple name services " + + "configured. " + DFS_NAMESERVICES + " is set to " + + Arrays.toString(dfsNames) + ". Please re-run with the -ns option."; + } + throw new IllegalArgumentException(errorString); } } assert nsId != null;
