[ 
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)

Reply via email to