Return-Path: Delivered-To: apmail-lucene-hadoop-dev-archive@locus.apache.org Received: (qmail 52720 invoked from network); 20 Aug 2007 16:09:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Aug 2007 16:09:57 -0000 Received: (qmail 75212 invoked by uid 500); 20 Aug 2007 16:09:52 -0000 Delivered-To: apmail-lucene-hadoop-dev-archive@lucene.apache.org Received: (qmail 75192 invoked by uid 500); 20 Aug 2007 16:09:52 -0000 Mailing-List: contact hadoop-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-dev@lucene.apache.org Delivered-To: mailing list hadoop-dev@lucene.apache.org Received: (qmail 75183 invoked by uid 99); 20 Aug 2007 16:09:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Aug 2007 09:09:52 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Aug 2007 16:10:24 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 4667A71421A for ; Mon, 20 Aug 2007 09:09:31 -0700 (PDT) Message-ID: <19865859.1187626171285.JavaMail.jira@brutus> Date: Mon, 20 Aug 2007 09:09:31 -0700 (PDT) From: "Owen O'Malley (JIRA)" To: hadoop-dev@lucene.apache.org Subject: [jira] Commented: (HADOOP-785) Divide the server and client configurations In-Reply-To: <4048066.1165393281134.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12521128 ] Owen O'Malley commented on HADOOP-785: -------------------------------------- Sorry, I thought I was clearer. I was proposing a much more radical structure. Under your proposal, the source of config values in a task looks like: {code} a few attributes localized in (eg. task id, etc.) server's hadoop-final.xml user's setting client's hadoop-final.xml client's hadoop-initial.xml client's hadoop-default.xml (readonly) server's hadoop-initial.xml server's hadoop-default.xml (readonly) {code} and server's configuration look like: {code} server's hadoop-final.xml server's hadoop-initial.xml server's hadoop-default.xml (readonly) {code} I'm proposing a much simpler structure, with client task configs looking like: {code} a few attributes localized in (eg. task id, mapred.local.dir,dfs.client.buffer.dir, etc.) user's settings client's hadoop-site.xml client's hadoop-default.xml (readonly) {code} Server's configs in my view would look like: {code} server's hadoop-site.xml server's hadoop-defaul.xml (readonly) {code} I think by reducing the number of places where a given setting can be changed will dramatically help the usability of the config system. I think using different orderings of the config files based on the context makes things really confusing. > 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.