Description
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)
//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);
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