You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2010/01/09 15:56:54 UTC

[jira] Created: (HDFS-891) DataNode.instantiateDataNode calls system.exit(-1) if conf.get("dfs.network.script") != null

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.