hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3727) For better error recovery, check if the directory exists before using it for localization.
Date Thu, 28 May 2015 04:45:17 GMT

    [ https://issues.apache.org/jira/browse/YARN-3727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14562287#comment-14562287
] 

Hadoop QA commented on YARN-3727:
---------------------------------

\\
\\
| (/) *{color:green}+1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | pre-patch |  14m 38s | Pre-patch trunk compilation is healthy. |
| {color:green}+1{color} | @author |   0m  0s | The patch does not contain any @author tags.
|
| {color:green}+1{color} | tests included |   0m  0s | The patch appears to include 2 new
or modified test files. |
| {color:green}+1{color} | javac |   7m 30s | There were no new javac warning messages. |
| {color:green}+1{color} | javadoc |   9m 34s | There were no new javadoc warning messages.
|
| {color:green}+1{color} | release audit |   0m 23s | The applied patch does not increase
the total number of release audit warnings. |
| {color:green}+1{color} | checkstyle |   0m 38s | There were no new checkstyle issues. |
| {color:green}+1{color} | whitespace |   0m  1s | The patch has no lines that end in whitespace.
|
| {color:green}+1{color} | install |   1m 33s | mvn install still works. |
| {color:green}+1{color} | eclipse:eclipse |   0m 33s | The patch built with eclipse:eclipse.
|
| {color:green}+1{color} | findbugs |   1m  3s | The patch does not introduce any new Findbugs
(version 3.0.0) warnings. |
| {color:green}+1{color} | yarn tests |   6m 18s | Tests passed in hadoop-yarn-server-nodemanager.
|
| | |  42m 16s | |
\\
\\
|| Subsystem || Report/Notes ||
| Patch URL | http://issues.apache.org/jira/secure/attachment/12735768/YARN-3727.000.patch
|
| Optional Tests | javadoc javac unit findbugs checkstyle |
| git revision | trunk / 5450413 |
| hadoop-yarn-server-nodemanager test log | https://builds.apache.org/job/PreCommit-YARN-Build/8109/artifact/patchprocess/testrun_hadoop-yarn-server-nodemanager.txt
|
| Test Results | https://builds.apache.org/job/PreCommit-YARN-Build/8109/testReport/ |
| Java | 1.7.0_55 |
| uname | Linux asf906.gq1.ygridcore.net 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep
3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux |
| Console output | https://builds.apache.org/job/PreCommit-YARN-Build/8109/console |


This message was automatically generated.

> For better error recovery, check if the directory exists before using it for localization.
> ------------------------------------------------------------------------------------------
>
>                 Key: YARN-3727
>                 URL: https://issues.apache.org/jira/browse/YARN-3727
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: nodemanager
>    Affects Versions: 2.7.0
>            Reporter: zhihai xu
>            Assignee: zhihai xu
>         Attachments: YARN-3727.000.patch
>
>
> For better error recovery, check if the directory exists before using it for localization.
> We saw the following localization failure happened due to existing cache directories.
> {code}
> 2015-05-11 18:59:59,756 INFO org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService:
DEBUG: FAILED { hdfs://XXXX/XXXXX/libjars/1234.jar, 1431395961545, FILE, null }, Rename cannot
overwrite non empty destination directory /XXXX/8/yarn/nm/usercache/XXXX/filecache/21637
> 2015-05-11 18:59:59,756 INFO org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.LocalizedResource:
Resource hdfs://XXXX/XXXXX/libjars/1234.jar(->/XXXX/8/yarn/nm/usercache/XXXX/filecache/21637/1234.jar)
transitioned from DOWNLOADING to FAILED
> {code}
> The real cause for this failure may be disk failure, LevelDB operation failure for {{startResourceLocalization}}/{{finishResourceLocalization}}
or others.
> I wonder whether we can add error recovery code to avoid the localization failure by
not using the existing cache directories for localization.
> The exception happened at {{files.rename(dst_work, destDirPath, Rename.OVERWRITE)}} in
FSDownload#call. Based on the following code, after the exception, the existing cache directory
used by {{LocalizedResource}} will be deleted.
> {code}
> try {
>      .........
>       files.rename(dst_work, destDirPath, Rename.OVERWRITE);
>     } catch (Exception e) {
>       try {
>         files.delete(destDirPath, true);
>       } catch (IOException ignore) {
>       }
>       throw e;
>     } finally {
> {code}
> Since the conflicting local directory will be deleted after localization failure,
> I think it will be better to check if the directory exists before using it for localization
to avoid the localization failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message