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.

Reply via email to