[ https://issues.apache.org/jira/browse/YARN-3998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14651887#comment-14651887 ]
Jun Gong commented on YARN-3998: -------------------------------- Thanks [~jlowe] and [~ste...@apache.org] for the detailed explanation. Yes, app will have more control when doing it at the app level. Our specific cases: 1. Container generates several large files(total size is 20G~50G) in the working directory. If container exits for some reason, it need re-generate those files, and container's service will be interrupted for a long time. 2. When running Docker container, docker image might be very large and pulled for a long time. If the container fails to run and re-scheduled to another host, NM might need pull the image again. > Add retry-times to let NM re-launch container when it fails to run > ------------------------------------------------------------------ > > Key: YARN-3998 > URL: https://issues.apache.org/jira/browse/YARN-3998 > Project: Hadoop YARN > Issue Type: New Feature > Reporter: Jun Gong > Assignee: Jun Gong > > I'd like to add a field(retry-times) in ContainerLaunchContext. When AM > launches containers, it could specify the value. Then NM will re-launch the > container 'retry-times' times when it fails to run(e.g.exit code is not 0). > It will save a lot of time. It avoids container localization. RM does not > need to re-schedule the container. And local files in container's working > directory will be left for re-use.(If container have downloaded some big > files, it does not need to re-download them when running again.) > We find it is useful in systems like Storm. -- This message was sent by Atlassian JIRA (v6.3.4#6332)