use of org.apache.oozie.executor.jpa.CoordJobGetActionByActionNumberJPAExecutor in project oozie by apache.
the class TestCoordChangeXCommand method testCoordChangeEndTimeDeleteAction.
// Testcase to test deletion of lookahead action in case of end-date change
public void testCoordChangeEndTimeDeleteAction() throws Exception {
Date startTime = DateUtils.parseDateOozieTZ("2013-08-01T00:00Z");
Date endTime = DateUtils.parseDateOozieTZ("2013-08-01T05:00Z");
Date changeEndTime = DateUtils.parseDateOozieTZ("2013-08-01T02:00Z");
String endTimeChangeStr = "endtime=" + DateUtils.formatDateOozieTZ(changeEndTime);
final CoordinatorJobBean job = addRecordToCoordJobTableForPauseTimeTest(CoordinatorJob.Status.RUNNING, startTime, endTime, endTime, true, false, 4);
addRecordToCoordActionTable(job.getId(), 1, CoordinatorAction.Status.SUCCEEDED, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T00:00Z"));
addRecordToCoordActionTable(job.getId(), 2, CoordinatorAction.Status.RUNNING, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T01:00Z"));
addRecordToCoordActionTable(job.getId(), 3, CoordinatorAction.Status.WAITING, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T02:00Z"));
addRecordToCoordActionTable(job.getId(), 4, CoordinatorAction.Status.WAITING, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T03:00Z"));
JPAService jpaService = Services.get().get(JPAService.class);
new CoordChangeXCommand(job.getId(), endTimeChangeStr).call();
CoordJobGetJPAExecutor coordGetCmd = new CoordJobGetJPAExecutor(job.getId());
CoordinatorJobBean coordJob = jpaService.execute(coordGetCmd);
assertEquals(coordJob.getEndTime(), changeEndTime);
assertEquals(Job.Status.RUNNING, coordJob.getStatus());
assertEquals(2, coordJob.getLastActionNumber());
try {
jpaService.execute(new CoordJobGetActionByActionNumberJPAExecutor(job.getId(), 2));
} catch (JPAExecutorException jpae) {
fail(" Action should be there");
}
try {
jpaService.execute(new CoordJobGetActionByActionNumberJPAExecutor(job.getId(), 3));
fail("Expected to fail as action 3 should have been deleted");
} catch (JPAExecutorException jpae) {
assertEquals(ErrorCode.E0603, jpae.getErrorCode());
}
assertEquals(DateUtils.parseDateOozieTZ("2013-08-01T02:00Z"), coordJob.getNextMaterializedTime());
assertEquals(DateUtils.parseDateOozieTZ("2013-08-01T02:00Z"), coordJob.getLastActionTime());
}
use of org.apache.oozie.executor.jpa.CoordJobGetActionByActionNumberJPAExecutor in project oozie by apache.
the class TestCoordChangeXCommand method testCoordChangePauseTime.
/**
* test pause time change : pending should mark false if job is running with
* pending true. two actions should be removed for pause time changes.
*
* @throws Exception
*/
public void testCoordChangePauseTime() throws Exception {
Date startTime = DateUtils.parseDateOozieTZ("2013-08-01T00:00Z");
Date endTime = DateUtils.parseDateOozieTZ("2013-08-01T04:59Z");
// 2 hrs
Date pauseTime = new Date(startTime.getTime() + (3 * HOURS_IN_MS));
String pauseTimeChangeStr = "pausetime=" + DateUtils.formatDateOozieTZ(pauseTime);
final CoordinatorJobBean job = addRecordToCoordJobTableForPauseTimeTest(CoordinatorJob.Status.RUNNING, startTime, endTime, endTime, true, false, 4);
CoordinatorActionBean ca1 = addRecordToCoordActionTable(job.getId(), 1, CoordinatorAction.Status.SUCCEEDED, "coord-action-get.xml", 0);
CoordinatorActionBean ca2 = addRecordToCoordActionTable(job.getId(), 2, CoordinatorAction.Status.SUCCEEDED, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T02:00Z"));
CoordinatorActionBean ca3 = addRecordToCoordActionTable(job.getId(), 3, CoordinatorAction.Status.WAITING, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T03:00Z"));
CoordinatorActionBean ca4 = addRecordToCoordActionTable(job.getId(), 4, CoordinatorAction.Status.WAITING, "coord-action-get.xml", 0, DateUtils.parseDateOozieTZ("2013-08-01T04:00Z"));
SLARegistrationBean slaRegBean1 = new SLARegistrationBean();
slaRegBean1.setId(ca1.getId());
SLARegistrationBean slaRegBean2 = new SLARegistrationBean();
slaRegBean2.setId(ca2.getId());
SLARegistrationBean slaRegBean3 = new SLARegistrationBean();
slaRegBean3.setId(ca3.getId());
SLARegistrationBean slaRegBean4 = new SLARegistrationBean();
slaRegBean4.setId(ca4.getId());
SLASummaryBean slaSummaryBean1 = new SLASummaryBean();
slaSummaryBean1.setId(ca1.getId());
SLASummaryBean slaSummaryBean3 = new SLASummaryBean();
slaSummaryBean3.setId(ca3.getId());
List<JsonBean> insertList = new ArrayList<JsonBean>();
insertList.add(slaRegBean1);
insertList.add(slaRegBean2);
insertList.add(slaRegBean3);
insertList.add(slaRegBean4);
insertList.add(slaSummaryBean1);
insertList.add(slaSummaryBean3);
JPAService jpaService = Services.get().get(JPAService.class);
BatchQueryExecutor.getInstance().executeBatchInsertUpdateDelete(insertList, null, null);
new CoordChangeXCommand(job.getId(), pauseTimeChangeStr).call();
CoordJobGetJPAExecutor coordGetCmd = new CoordJobGetJPAExecutor(job.getId());
CoordinatorJobBean coordJob = jpaService.execute(coordGetCmd);
assertEquals(DateUtils.formatDateOozieTZ(coordJob.getPauseTime()), DateUtils.formatDateOozieTZ(pauseTime));
assertEquals(Job.Status.RUNNING, coordJob.getStatus());
assertEquals(2, coordJob.getLastActionNumber());
try {
jpaService.execute(new CoordJobGetActionByActionNumberJPAExecutor(job.getId(), 3));
fail("Expected to fail as action 3 should have been deleted");
} catch (JPAExecutorException jpae) {
assertEquals(ErrorCode.E0603, jpae.getErrorCode());
}
try {
jpaService.execute(new CoordJobGetActionByActionNumberJPAExecutor(job.getId(), 4));
fail("Expected to fail as action 4 should have been deleted");
} catch (JPAExecutorException jpae) {
assertEquals(ErrorCode.E0603, jpae.getErrorCode());
}
slaRegBean1 = SLARegistrationQueryExecutor.getInstance().get(SLARegQuery.GET_SLA_REG_ALL, slaRegBean1.getId());
assertNotNull(slaRegBean1);
slaRegBean2 = SLARegistrationQueryExecutor.getInstance().get(SLARegQuery.GET_SLA_REG_ALL, slaRegBean2.getId());
assertNotNull(slaRegBean2);
slaRegBean3 = SLARegistrationQueryExecutor.getInstance().get(SLARegQuery.GET_SLA_REG_ALL, slaRegBean3.getId());
assertNull(slaRegBean3);
slaRegBean4 = SLARegistrationQueryExecutor.getInstance().get(SLARegQuery.GET_SLA_REG_ALL, slaRegBean4.getId());
assertNull(slaRegBean4);
slaSummaryBean3 = SLASummaryQueryExecutor.getInstance().get(SLASummaryQuery.GET_SLA_SUMMARY, slaSummaryBean3.getId());
assertNull(slaSummaryBean3);
slaSummaryBean1 = SLASummaryQueryExecutor.getInstance().get(SLASummaryQuery.GET_SLA_SUMMARY, slaSummaryBean1.getId());
assertNotNull(slaSummaryBean1);
}
Aggregations