HDFS-9112. Improve error message for Haadmin when multiple name service IDs are configured. Contributed by Anu Engineer.
This commit is contained in:
parent
83e65c5fe8
commit
83e99d06d0
|
@ -965,6 +965,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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue