You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Jaydeep Vishwakarma (JIRA)" <ji...@apache.org> on 2015/07/24 11:55:04 UTC

[jira] [Updated] (OOZIE-2314) Unable to kill old instance child job by workflow or coord rerun by Launcher

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

Jaydeep Vishwakarma updated OOZIE-2314:
---------------------------------------
    Priority: Critical  (was: Major)

> Unable to kill old instance child job by workflow or coord rerun by Launcher
> ----------------------------------------------------------------------------
>
>                 Key: OOZIE-2314
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2314
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Jaydeep Vishwakarma
>            Assignee: Jaydeep Vishwakarma
>            Priority: Critical
>
> Oozie launcher kills all the child jobs which, launched by an old instance of same launcher, workflow or coord action to avoid the duplicate child running at same. For same it searches the application ids by tag and time, And it kills all AMs. You can find more detail in OOZIE-2129. 
> It works fine when Launcher attempt gets killed and tries again. In case of Yarn container which contains AM get kills due to some reason and we run workflow/coord action this patch does not work.
>    It happens due to a time filter applied during finding the app ids, which always takes the current time from the server.
>    {{LauncherMapperHelper.java}}
>    {code}
>        public static void setupYarnRestartHandling(JobConf launcherJobConf, Configuration actionConf, String launcherTag)
>                throws NoSuchAlgorithmException {
>            launcherJobConf.setLong(LauncherMainHadoopUtils.OOZIE_JOB_LAUNCH_TIME, System.currentTimeMillis());
>            // Tags are limited to 100 chars so we need to hash them to make sure (the actionId otherwise doesn't have a max length)
>            String tag = getTag(launcherTag);
>            // keeping the oozie.child.mapreduce.job.tags instead of mapreduce.job.tags to avoid killing launcher itself.
>            // mapreduce.job.tags should only go to child job launch by launcher.
>            actionConf.set(LauncherMainHadoopUtils.CHILD_MAPREDUCE_JOB_TAGS, tag);
>        }
>    {code}
> When a user rerun the workflow or coord action, Launcher picks the current system time along with tags, It searches for running application ids and kills them. It eventually does not find any App Id, As the previous instance of the same workflow/coord ran before the new system time.



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