Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.4-alpha, 2.4.0
-
None
-
Reviewed
Description
Run "hdfs zkfc-formatZK" on a server in a non-namenode will cause a null pointer exception.
[hadoop@test bin]$ ./hdfs zkfc -formatZK
Exception in thread "main" java.lang.NullPointerException
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187)
at org.apache.hadoop.hdfs.tools.NNHAServiceTarget.<init>(NNHAServiceTarget.java:57)
at org.apache.hadoop.hdfs.tools.DFSZKFailoverController.create(DFSZKFailoverController.java:128)
at org.apache.hadoop.hdfs.tools.DFSZKFailoverController.main(DFSZKFailoverController.java:172)
I look at the code, found in the org.apache.hadoop.hdfs.DFSUtil.getSuffixIDs () method does not make judgments on this issue.
static String[] getSuffixIDs(final Configuration conf, final String addressKey, String knownNsId, String knownNNId, final AddressMatcher matcher) { String nameserviceId = null; String namenodeId = null; int found = 0; //......do something if (found > 1) { // Only one address must match the local address String msg = "Configuration has multiple addresses that match " + "local node's address. Please configure the system with " + DFS_NAMESERVICE_ID + " and " + DFS_HA_NAMENODE_ID_KEY; throw new HadoopIllegalArgumentException(msg); } // If the IP is not a local address, found to be less than 1. // There should be throw an exception with clear message rather than cause a null pointer exception. return new String[] { nameserviceId, namenodeId };
Attachments
Attachments
Issue Links
- is duplicated by
-
HADOOP-10545 hdfs zkfc NullPointerException
- Resolved