[ https://issues.apache.org/jira/browse/HADOOP-785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517938 ]
Enis Soztutar commented on HADOOP-785: -------------------------------------- BTW, a related issue about configuration parameters is that the names of the parameters are used in different contexts(in hadoop-*.xml files and in the code), sometimes resulting in misspelling and confusion. How about the following *slightly ugly* way to programaticaly access parameter names. {code} public class ParameterNames { private static final int prefixLength = ParameterNames.class.getCanonicalName().length() + 1; public static final class fs { public static final class trash { public static final class root { } public static final class interval { } } public static final class file { public static final class impl { } } } public static String getName(Class<?> clazz) { return clazz.getCanonicalName().substring(prefixLength); } } {code} and the code to use the name would be : {code} String trashPath = conf.get(ParameterNames.getName(ParameterNames.fs.trash.root.class)) {code} > Divide the server and client configurations > ------------------------------------------- > > Key: HADOOP-785 > URL: https://issues.apache.org/jira/browse/HADOOP-785 > Project: Hadoop > Issue Type: Improvement > Components: conf > Affects Versions: 0.9.0 > Reporter: Owen O'Malley > Assignee: Arun C Murthy > Fix For: 0.15.0 > > > The configuration system is easy to misconfigure and I think we need to > strongly divide the server from client configs. > An example of the problem was a configuration where the task tracker has a > hadoop-site.xml that set mapred.reduce.tasks to 1. Therefore, the job tracker > had the right number of reduces, but the map task thought there was a single > reduce. This lead to a hard to find diagnose failure. > Therefore, I propose separating out the configuration types as: > class Configuration; > // reads site-default.xml, hadoop-default.xml > class ServerConf extends Configuration; > // reads hadoop-server.xml, $super > class DfsServerConf extends ServerConf; > // reads dfs-server.xml, $super > class MapRedServerConf extends ServerConf; > // reads mapred-server.xml, $super > class ClientConf extends Configuration; > // reads hadoop-client.xml, $super > class JobConf extends ClientConf; > // reads job.xml, $super > Note in particular, that nothing corresponds to hadoop-site.xml, which > overrides both client and server configs. Furthermore, the properties from > the *-default.xml files should never be saved into the job.xml. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.