falcon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shwetha G S (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FALCON-740) Entity kill job calls OozieClient.kill on bundle coord job ids before calling kill on bundle job id
Date Fri, 19 Sep 2014 05:01:34 GMT

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

Shwetha G S commented on FALCON-740:
------------------------------------

I didn't look at the exact code changes done for bundle change. So, didn't realise it will
affect us. 

We set bundle name to some prefix + process name. Since we don't maintain process to bundle
mapping, we need to figure out the applicable bundles for a given process. If a process is
deleted and then scheduled again, we should be able to filter out the previously scheduled
bundles. Oozie sets bundle to killed if user killed the bundle or because its coords are killed(if
all its instances are killed). To differentiate between the two, we used to set bundle end
time during process delete. But now, we changed the logic to get all bundles and select only
the ones whose app path exists. Since we delete the staging path at process delete, we always
get only the bundles applicable for the current entity.

> Entity kill job calls OozieClient.kill on bundle coord job ids before calling kill on
bundle job id
> ---------------------------------------------------------------------------------------------------
>
>                 Key: FALCON-740
>                 URL: https://issues.apache.org/jira/browse/FALCON-740
>             Project: Falcon
>          Issue Type: Bug
>          Components: webapp
>    Affects Versions: 0.6
>            Reporter: Balu Vellanki
>            Assignee: Balu Vellanki
>
> When Falcon user makes an entity kill API call, Falcon does the following in org.apache.falcon.workflow.engine.OozieWorkflowEngine.killBundle(String
clusterName, BundleJob job)
> {code}
>  //kill all coords
>             for (CoordinatorJob coord : job.getCoordinators()) {
>                 client.kill(coord.getId());
>                 LOG.debug("Killed coord {} on cluster {}", coord.getId(), clusterName);
>             }
>             //set end time of bundle
>             client.change(job.getId(), OozieClient.CHANGE_VALUE_ENDTIME + "=" + SchemaHelper.formatDateUTC(new
Date()));
>             LOG.debug("Changed end time of bundle {} on cluster {}", job.getId(), clusterName);
>             //kill bundle
>             client.kill(job.getId());
>             LOG.debug("Killed bundle {} on cluster {}", job.getId(), clusterName);
> {code}
> Two questions.
> 1. Why should we kill the coordinator jobs before killing the bundle job? OozieClient.kill(bundle_job_id)
should kill all the bundle's coord jobs.
> 2. Why is the endtime changed for  bundle job? https://oozie.apache.org/docs/4.0.1/DG_CommandLineTool.html#Changing_pausetime_of_a_Bundle_Job
does not say that endtime can be changed for bundlejob. 
> I think this code should be updated, please comment if you think I made any wrong assumptions.
> Thank you



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

Mime
View raw message