hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-785) Divide the server and client configurations
Date Mon, 06 Aug 2007 13:58:12 GMT

    [ 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.


Mime
View raw message