Return-Path: Delivered-To: apmail-hadoop-core-dev-archive@www.apache.org Received: (qmail 1876 invoked from network); 16 Apr 2008 06:55:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Apr 2008 06:55:31 -0000 Received: (qmail 56426 invoked by uid 500); 16 Apr 2008 06:55:31 -0000 Delivered-To: apmail-hadoop-core-dev-archive@hadoop.apache.org Received: (qmail 56393 invoked by uid 500); 16 Apr 2008 06:55:31 -0000 Mailing-List: contact core-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-dev@hadoop.apache.org Received: (qmail 56380 invoked by uid 99); 16 Apr 2008 06:55:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Apr 2008 23:55:30 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Apr 2008 06:54:56 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id B8A83234C0D5 for ; Tue, 15 Apr 2008 23:52:25 -0700 (PDT) Message-ID: <70206367.1208328745755.JavaMail.jira@brutus> Date: Tue, 15 Apr 2008 23:52:25 -0700 (PDT) From: "Subramaniam Krishnan (JIRA)" To: core-dev@hadoop.apache.org Subject: [jira] Issue Comment Edited: (HADOOP-3135) if the 'mapred.system.dir' in the client jobconf is different from the JobTracker's value job submission fails In-Reply-To: <661424110.1206960746126.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-3135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589438#action_12589438 ] subru edited comment on HADOOP-3135 at 4/15/08 11:50 PM: ------------------------------------------------------------------------ I have updated the patch with the following changes: 1) Went through the call hierarchy of FileSystem.get(conf) with Amareshwari's help and updated a few instances to make sure they are correct(in my limited knowledge). 2) Deprecated JobConf.getSystemDir. Replaced all references to JobConf.getSystemDir in our code and change them to use JobClient.getSystemDir. 3) Add caching for the value of the system directory in JobClient.getSystemDir. I already have added a test case that checks if a Job run successfully in spite of different system directory configuration between Job Client & Job Tracker. I couldn't set the system directory to a non-default file system as the MiniMRCluster doesn't support it currently. Have raised a jira for the same - [HADOOP-3244] I haven't changed the imports as they were giving me warnings & are much better organized now. was (Author: subru): I have updated the patch with the following changes: 1) Went through the call hierarchy of FileSystem.get(conf) with Amareshwari's help and updated a few instances to make sure they are correct(in my limited knowledge). 2) Deprecated JobConf.getSystemDir. Replaced all references to JobConf.getSystemDir in our code and change them to use JobClient.getSystemDir. 3) Add caching for the value of the system directory in JobClient.getSystemDir. I already have added a test case that checks if a Job run successfully in spite of different system directory configuration between Job Client & Job Tracker. I couldn't set the system directory to a non-default file system as the MiniMRCluster doesn't support it currently. Have raised a jira for the same - [HADOOP-3244][https://issues.apache.org/jira/browse/HADOOP-3244] I haven't changed the imports as they were giving me warnings & are much better organized now. > if the 'mapred.system.dir' in the client jobconf is different from the JobTracker's value job submission fails > -------------------------------------------------------------------------------------------------------------- > > Key: HADOOP-3135 > URL: https://issues.apache.org/jira/browse/HADOOP-3135 > Project: Hadoop Core > Issue Type: Bug > Components: mapred > Affects Versions: 0.16.1 > Environment: all > Reporter: Alejandro Abdelnur > Assignee: Subramaniam Krishnan > Priority: Critical > Fix For: 0.18.0 > > Attachments: patch-3135-v3.txt, patch-3135-v4.txt, patch-3135-v5.txt > > > Until Hadoop 0.13 or so, at submission time the full path of the job.xml and all supporting files in DFS was given by the client to the jobtracker. > Since 0.15 onwards (we did not test 0.14) the jobclient is obtaining the job ID from the jobtracker and creating the directory for all the supporting files using the a system-dir computed from the local jobconf. > Line 696-7 in the JobClient: > String jobId = jobSubmitClient.getNewJobId(); > Path submitJobDir = new Path(job.getSystemDir(), jobId); > This makes submissions to fail when the value of the 'mapred.system.dir' on the client is different from the one in the JobTracker. > A simple way o fixing this would be to introduce a new method in the JobSubmissionProtocol 'getSystemDir()' that would return the jobtracker system dir and use that dir for uploading all the files on submission. > ---- > For the future: A more comprehensive way of this doing would to obtain a base jobConf from the jobtracker, carrying final information for each element and the construct the job.xml on the client using the final semantics. And, in this case the 'mapred.system.dir' property should be set as final in the jobtracker. As there may be some configuration properties that are sensitive and for security reasons should not be exposed to the clients a new flag 'private' could be introduced and only properties that don't have the 'private' flag would be send over from the jobtracker to the jobclient for job.xml resolution. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.