Return-Path: X-Original-To: apmail-hadoop-mapreduce-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-mapreduce-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2DDEDC316 for ; Tue, 12 Aug 2014 04:33:16 +0000 (UTC) Received: (qmail 63549 invoked by uid 500); 12 Aug 2014 04:33:15 -0000 Delivered-To: apmail-hadoop-mapreduce-issues-archive@hadoop.apache.org Received: (qmail 63491 invoked by uid 500); 12 Aug 2014 04:33:15 -0000 Mailing-List: contact mapreduce-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mapreduce-issues@hadoop.apache.org Delivered-To: mailing list mapreduce-issues@hadoop.apache.org Received: (qmail 63401 invoked by uid 99); 12 Aug 2014 04:33:15 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Aug 2014 04:33:15 +0000 Date: Tue, 12 Aug 2014 04:33:15 +0000 (UTC) From: "Benjamin Zhitomirsky (JIRA)" To: mapreduce-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Work logged] (MAPREDUCE-6032) Unable to check mapreduce job status if submitted using a non-default namenode MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MAPREDUCE-6032?focusedWorklogId=16943&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-16943 ] Benjamin Zhitomirsky logged work on MAPREDUCE-6032: --------------------------------------------------- Author: Benjamin Zhitomirsky Created on: 12/Aug/14 05:32 Start Date: 12/Aug/14 05:32 Worklog Time Spent: 24h Issue Time Tracking ------------------- Worklog Id: (was: 16943) Time Spent: 24h Remaining Estimate: 0h (was: 24h) > Unable to check mapreduce job status if submitted using a non-default namenode > ------------------------------------------------------------------------------ > > Key: MAPREDUCE-6032 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-6032 > Project: Hadoop Map/Reduce > Issue Type: Bug > Affects Versions: 2.0.5-alpha, 2.1.1-beta, 2.0.6-alpha, 2.2.0, 2.3.0, 2.2.1, 2.4.1 > Environment: Any > Reporter: Benjamin Zhitomirsky > Assignee: Benjamin Zhitomirsky > Fix For: trunk > > Attachments: MAPREDUCE-6032.patch > > Original Estimate: 24h > Time Spent: 24h > Remaining Estimate: 0h > > When MRv2 job container runs in a context of non-default file system JobHistoryUtils.java obtains mapreduce.jobhistory.done-dir and > mapreduce.jobhistory.intermediate-done-dir as a non-qualified paths (e.g. /mapred/history). This path is considered to belong to the current container's context. As result the application history is being written to another file system and job history server is unable to pick it up, because it expects it to be found on the default file system. Currently providing fully qualified path to those parameters is not supported as well, because of a bug in JobHistoryEventHandler. > After this fix two scenarios will be supported: > - mapreduce.jobhistory.done-dir and mapreduce.jobhistory.intermediate-done-dir (and the staging directory BTW) will support a fully qualified path > - If a non-qualified path is configured then it will always be defaulted to the default file system (core-site.xml). That's how consistency of history location will be archived > Implementation notes: > - FileSystem#makeQualified throws exception if specified path belongs to another file system. However FileContext#makeQualified work properly in this case, and this is the meaning of the fix in JobHistoryEventHandler. I was not ready to change behavior FileSystem#makeQualified because much more thought is required. I afraid that many users expect such behavior, and fixing it would break their code. > - The fix in JobHistoryUtils detects non-default namenode configuration only if it comes from some "real" configuration: core-default.xml is ignored. This is done primary as a kind of test hook, because otherwise setting fs.defaultFS value during test executions would be always recognized by JobHistoryUtils as a non-default namenode against 'file:///' specified in core-default.xml. > (Remark. Note that makeQualified doesn't behave properly with file:/// filesystem, for example: > new Path("file:///dir/subdir").makeQualified(new URI("hdfs://server:8020"), new Path("/dir")) > Returns: "file://server:8020/dir/subdir" which doesn't make sense. > However I don't believe it worth fixing, since nobody really case about local file system besides tests. My fix just ensures that all tests run smoothly by ignoring core-default.xml file system in the logic.) -- This message was sent by Atlassian JIRA (v6.2#6252)