[ 
https://issues.apache.org/jira/browse/MAPREDUCE-5679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Liyin Liang updated MAPREDUCE-5679:
-----------------------------------

            Assignee: Liyin Liang
    Target Version/s: 2.4.0
              Status: Patch Available  (was: Open)

> TestJobHistoryParsing has race condition
> ----------------------------------------
>
>                 Key: MAPREDUCE-5679
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5679
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 2.2.0
>            Reporter: Liyin Liang
>            Assignee: Liyin Liang
>         Attachments: MAPREDUCE-5679.diff
>
>
> org.apache.hadoop.mapreduce.v2.hs.TestJobHistoryParsing can fail because of 
> race condition.
> {noformat}
> testHistoryParsingWithParseErrors(org.apache.hadoop.mapreduce.v2.hs.TestJobHistoryParsing)
>   Time elapsed: 4.102 sec  <<< ERROR!
> java.io.IOException: Unable to initialize History Viewer
>         at 
> org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:520)
>         at 
> org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:398)
>         at 
> org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:137)
>         at 
> org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:339)
>         at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:798)
>         at 
> org.apache.hadoop.mapreduce.jobhistory.JobHistoryParser.<init>(JobHistoryParser.java:86)
>         at 
> org.apache.hadoop.mapreduce.jobhistory.HistoryViewer.<init>(HistoryViewer.java:85)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.TestJobHistoryParsing.checkHistoryParsing(TestJobHistoryParsing.java:339)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.TestJobHistoryParsing.testHistoryParsingWithParseErrors(TestJobHistoryParsing.java:125)
> {noformat}
> In the checkHistoryParsing() function, after 
> {code}
> HistoryFileInfo fileInfo = jobHistory.getJobFileInfo(jobId);
> {code}
> a thread named MoveIntermediateToDone will be launched to move history file 
> from done_intermediate to done directory.
> If the history file is moved, 
> {code}
>       HistoryViewer viewer = new HistoryViewer(fc.makeQualified(
>           fileInfo.getHistoryFile()).toString(), conf, true);
> {code}
> will throw IOException,because the history file is not found.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to