use of org.apache.oozie.BundleJobBean in project oozie by apache.
the class TestBundleRerunXCommand method testBundleRerunInPaused.
/**
* Test : Rerun paused bundle job
*
* @throws Exception
*/
public void testBundleRerunInPaused() throws Exception {
Date curr = new Date();
Date pauseTime = new Date(curr.getTime() - 1000);
BundleJobBean job = this.addRecordToBundleJobTableWithPausedTime(Job.Status.PAUSED, false, pauseTime);
this.addRecordToBundleActionTable(job.getId(), "action1", 0, Job.Status.SUCCEEDED);
this.addRecordToBundleActionTable(job.getId(), "action2", 0, Job.Status.PAUSED);
addRecordToCoordJobTable("action1", CoordinatorJob.Status.SUCCEEDED, false, false);
addRecordToCoordJobTable("action2", CoordinatorJob.Status.PAUSED, false, false);
JPAService jpaService = Services.get().get(JPAService.class);
assertNotNull(jpaService);
BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(Job.Status.PAUSED, job.getStatus());
new BundleRerunXCommand(job.getId(), "action2", null, false, true).call();
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(Job.Status.PAUSED, job.getStatus());
assertNotNull(job.getPauseTime());
assertFalse(job.isPending());
}
use of org.apache.oozie.BundleJobBean in project oozie by apache.
the class TestBundleRerunXCommand method testBundleRerun1.
/**
* Test : Rerun bundle job for dateScope
*
* @throws Exception
*/
public void testBundleRerun1() throws Exception {
BundleJobBean job = this.addRecordToBundleJobTable(Job.Status.SUCCEEDED, false);
CoordinatorJobBean coord1 = addRecordToCoordJobTable("action1", CoordinatorJob.Status.SUCCEEDED, false, false);
CoordinatorJobBean coord2 = addRecordToCoordJobTable("action2", CoordinatorJob.Status.SUCCEEDED, false, false);
this.addRecordToBundleActionTable(job.getId(), coord1.getId(), "action1", 0, Job.Status.SUCCEEDED);
this.addRecordToBundleActionTable(job.getId(), coord2.getId(), "action2", 0, Job.Status.SUCCEEDED);
JPAService jpaService = Services.get().get(JPAService.class);
assertNotNull(jpaService);
BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(Job.Status.SUCCEEDED, job.getStatus());
new BundleRerunXCommand(job.getId(), null, "2009-02-01T00:00Z", false, true).call();
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(Job.Status.RUNNING, job.getStatus());
}
use of org.apache.oozie.BundleJobBean in project oozie by apache.
the class TestBundleStartXCommand method testBundleStartWithFailedCoordinator.
public void testBundleStartWithFailedCoordinator() throws Exception {
services.destroy();
services = new Services();
String[] excludeServices = { "org.apache.oozie.service.UUIDService", "org.apache.oozie.service.StatusTransitService" };
Configuration conf = services.getConf();
setClassesToBeExcluded(conf, excludeServices);
conf.set(Services.CONF_SERVICE_CLASSES, conf.get(Services.CONF_SERVICE_CLASSES) + "," + DummyUUIDService.class.getName());
services.init();
CoordinatorJobBean coordJob = new CoordinatorJobBean();
coordJob.setId("dummy-coord-id");
JPAService jpaService = Services.get().get(JPAService.class);
CoordJobInsertJPAExecutor coordInsertCmd = new CoordJobInsertJPAExecutor(coordJob);
jpaService.execute(coordInsertCmd);
BundleJobBean job = addRecordToBundleJobTable(Job.Status.PREP, false);
BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(job.getStatus(), Job.Status.PREP);
new BundleStartXCommand(job.getId()).call();
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(job.getStatus(), Job.Status.RUNNING);
sleep(2000);
List<BundleActionBean> actions = BundleActionQueryExecutor.getInstance().getList(BundleActionQuery.GET_BUNDLE_ACTIONS_STATUS_UNIGNORED_FOR_BUNDLE, job.getId());
assertNull(actions.get(0).getCoordId());
assertEquals(Job.Status.FAILED, actions.get(0).getStatus());
Runnable runnable = new StatusTransitRunnable();
// 1st run of StatusTransitionService changes bundle to running
runnable.run();
sleep(2000);
// 2nd run changes bundle to DoneWithError
runnable.run();
sleep(2000);
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(job.getStatus(), Job.Status.DONEWITHERROR);
}
use of org.apache.oozie.BundleJobBean in project oozie by apache.
the class TestBundleStartXCommand method testBundleStartDryrun.
/**
* Test : Start bundle job with dryrun
*
* @throws Exception
*/
public void testBundleStartDryrun() throws Exception {
BundleJobBean job = this.addRecordToBundleJobTable(Job.Status.PREP, false);
JPAService jpaService = Services.get().get(JPAService.class);
assertNotNull(jpaService);
BundleJobGetJPAExecutor bundleJobGetExecutor = new BundleJobGetJPAExecutor(job.getId());
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(job.getStatus(), Job.Status.PREP);
new BundleStartXCommand(job.getId(), true).call();
job = jpaService.execute(bundleJobGetExecutor);
assertEquals(job.getStatus(), Job.Status.RUNNING);
sleep(2000);
List<BundleActionBean> actions = BundleActionQueryExecutor.getInstance().getList(BundleActionQuery.GET_BUNDLE_ACTIONS_STATUS_UNIGNORED_FOR_BUNDLE, job.getId());
assertEquals(2, actions.size());
assertEquals(true, actions.get(0).isCritical());
assertEquals(job.getId(), actions.get(0).getBundleId());
assertEquals(false, actions.get(1).isCritical());
assertEquals(job.getId(), actions.get(1).getBundleId());
}
use of org.apache.oozie.BundleJobBean in project oozie by apache.
the class TestBundleSubmitXCommand method testJobXmlCommentRemoved.
/**
* https://issues.apache.org/jira/browse/OOZIE-945
*
* @throws Exception
*/
public void testJobXmlCommentRemoved() throws Exception {
// this retrieves bundle-submit-job.xml
BundleJobBean job = this.addRecordToBundleJobTable(Job.Status.PREP, false);
final JPAService jpaService = Services.get().get(JPAService.class);
assertNotNull(jpaService);
Configuration jobConf = null;
try {
jobConf = new XConfiguration(new StringReader(job.getConf()));
} catch (IOException ioe) {
log.warn("Configuration parse error. read from DB :" + job.getConf(), ioe);
throw new CommandException(ErrorCode.E1005, ioe);
}
Path appPath = new Path(jobConf.get(OozieClient.BUNDLE_APP_PATH), "bundle.xml");
jobConf.set(OozieClient.BUNDLE_APP_PATH, appPath.toString());
BundleSubmitXCommand command = new BundleSubmitXCommand(true, jobConf);
BundleJobBean bundleBean = (BundleJobBean) command.getJob();
bundleBean.setStartTime(new Date());
bundleBean.setEndTime(new Date());
command.call();
// result includes bundle-submit-job.xml file instead of jobId since this is a dryRun mode
String result = command.submit();
// bundle-submit-job.xml contains the Apache license but this result should not contain the comment block
assertTrue("submit result should not contain <!-- ", !result.contains("<!--"));
assertTrue("submit result should not contain --> ", !result.contains("-->"));
}
Aggregations