DataNode.instantiateDataNode calls system.exit(-1) if conf.get("dfs.network.script") != null --------------------------------------------------------------------------------------------
Key: HDFS-891 URL: https://issues.apache.org/jira/browse/HDFS-891 Project: Hadoop HDFS Issue Type: Bug Components: data-node Affects Versions: 0.22.0 Reporter: Steve Loughran Looking at the code for {{DataNode.instantiateDataNode())} , I see that it calls {{system.exit(-1)}} if it is not happy with the configuration {code} if (conf.get("dfs.network.script") != null) { LOG.error("This configuration for rack identification is not supported" + " anymore. RackID resolution is handled by the NameNode."); System.exit(-1); } {code} This is excessive. It should throw an exception and let whoever called the method decide how to handle it. The {{DataNode.main()}} method will log the exception and exit with a -1 value, but other callers (such as anything using {{MiniDFSCluster}} will now see a meaningful message rather than some Junit "tests exited without completing" warning. Easy to write a test for the correct behaviour: start a {{MiniDFSCluster}} with this configuration set, see what happens. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.