use of org.apache.oozie.service.JPAService in project oozie by apache.
the class TestCoordActionsIgnoreXCommand method createDBRecords.
private void createDBRecords() throws Exception {
JPAService jpaService = services.get(JPAService.class);
coordJobs = new ArrayList<CoordinatorJobBean>();
coordActions = new ArrayList<CoordinatorActionBean>();
Date startTime = DateUtils.parseDateOozieTZ("2013-08-01T23:59Z");
Date endTime = DateUtils.parseDateOozieTZ("2013-08-02T23:59Z");
CoordinatorJobBean job1 = addRecordToCoordJobTable(CoordinatorJob.Status.KILLED, startTime, endTime, false, true, 0);
CoordinatorJobBean job2 = addRecordToCoordJobTable(CoordinatorJob.Status.PREP, startTime, endTime, false, true, 0);
coordJobs.add(job1);
coordJobs.add(job2);
CoordinatorActionBean action1_1 = addRecordToCoordActionTable(job1.getId(), 1, CoordinatorAction.Status.FAILED, "coord-action-get.xml", 0);
CoordinatorActionBean action1_2 = addRecordToCoordActionTable(job1.getId(), 2, CoordinatorAction.Status.FAILED, "coord-action-get.xml", 0);
CoordinatorActionBean action1_3 = addRecordToCoordActionTable(job1.getId(), 3, CoordinatorAction.Status.KILLED, "coord-action-get.xml", 0);
CoordinatorActionBean action1_4 = addRecordToCoordActionTable(job1.getId(), 4, CoordinatorAction.Status.KILLED, "coord-action-get.xml", 0);
CoordinatorActionBean action1_5 = addRecordToCoordActionTable(job1.getId(), 5, CoordinatorAction.Status.RUNNING, "coord-action-get.xml", 0);
coordActions.add(action1_1);
coordActions.add(action1_2);
coordActions.add(action1_3);
coordActions.add(action1_4);
coordActions.add(action1_5);
action1_1.setNominalTime(DateUtils.parseDateOozieTZ("2009-12-15T02:00Z"));
action1_1.setExternalId(null);
CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION, action1_1);
}
use of org.apache.oozie.service.JPAService in project oozie by apache.
the class TestCoordActionsKillXCommand method createDBRecords.
private String[] createDBRecords() throws Exception {
JPAService jpaService = services.get(JPAService.class);
Date startTime = DateUtils.parseDateOozieTZ("2013-08-01T23:59Z");
Date endTime = DateUtils.parseDateOozieTZ("2013-08-02T23:59Z");
CoordinatorJobBean job = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, startTime, endTime, false, true, 0);
CoordinatorActionBean action1 = addRecordToCoordActionTable(job.getId(), 1, CoordinatorAction.Status.RUNNING, "coord-action-get.xml", 0);
CoordinatorActionBean action2 = addRecordToCoordActionTable(job.getId(), 2, CoordinatorAction.Status.RUNNING, "coord-action-get.xml", 0);
action2.setNominalTime(DateUtils.parseDateOozieTZ("2009-12-15T02:00Z"));
action2.setExternalId(null);
CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION, action2);
WorkflowJobBean wf = new WorkflowJobBean();
WorkflowApp app = new LiteWorkflowApp("testApp", "<workflow-app/>", new StartNodeDef(LiteWorkflowStoreService.LiteControlNodeHandler.class, "end")).addNode(new EndNodeDef("end", LiteWorkflowStoreService.LiteControlNodeHandler.class));
wf.setId(action1.getExternalId());
wf.setStatus(WorkflowJob.Status.RUNNING);
WorkflowLib workflowLib = Services.get().get(WorkflowStoreService.class).getWorkflowLibWithNoDB();
WorkflowInstance wfInstance = workflowLib.createInstance(app, new XConfiguration());
((LiteWorkflowInstance) wfInstance).setStatus(WorkflowInstance.Status.RUNNING);
wf.setWorkflowInstance(wfInstance);
jpaService.execute(new WorkflowJobInsertJPAExecutor(wf));
return new String[] { job.getId(), action1.getId(), action2.getId(), wf.getId() };
}
use of org.apache.oozie.service.JPAService in project oozie by apache.
the class TestCoordActionsKillXCommand method testActionKillCommandActionNumbers.
/**
* Test the working of CoordActionKillXCommand by passing range
* as action ids
*
* @throws Exception
*/
public void testActionKillCommandActionNumbers() throws Exception {
JPAService jpaService = services.get(JPAService.class);
String[] ids = createDBRecords();
new CoordActionsKillXCommand(ids[0], "action", "1,3").call();
CoordinatorActionBean action = jpaService.execute(new CoordActionGetForCheckJPAExecutor(ids[1]));
assertEquals(CoordinatorAction.Status.KILLED, action.getStatus());
sleep(100);
WorkflowJobBean wf = WorkflowJobQueryExecutor.getInstance().get(WorkflowJobQuery.GET_WORKFLOW_FOR_SLA, ids[3]);
assertEquals(WorkflowJob.Status.KILLED, wf.getStatus());
CoordinatorJobBean job = jpaService.execute(new CoordJobGetJPAExecutor(ids[0]));
assertEquals(CoordinatorJob.Status.RUNNING, job.getStatus());
Runnable runnable = new StatusTransitRunnable();
runnable.run();
job = jpaService.execute(new CoordJobGetJPAExecutor(ids[0]));
assertEquals(CoordinatorJob.Status.RUNNINGWITHERROR, job.getStatus());
}
use of org.apache.oozie.service.JPAService in project oozie by apache.
the class TestCoordChangeXCommand method testCoordChangeEndTime.
/**
* test end time change : pending should mark false if job is running with
* pending true
* Changing the end time to be 40 minutes after the current time
* Changing the pause time to be 10 minutes after the current time
*
* @throws Exception
*/
public void testCoordChangeEndTime() throws Exception {
Date startTime = new Date();
Date endTime = new Date(startTime.getTime() + (20 * 60 * 1000));
final CoordinatorJobBean job = addRecordToCoordJobTable(CoordinatorJob.Status.RUNNING, startTime, endTime, true, true, 0);
String pauseTime = convertDateToString(startTime.getTime() + 10 * 60 * 1000);
String newEndTime = convertDateToString(startTime.getTime() + 40 * 60 * 1000);
new CoordChangeXCommand(job.getId(), "endtime=" + newEndTime + ";pausetime=" + pauseTime).call();
try {
checkCoordJobs(job.getId(), DateUtils.parseDateOozieTZ(newEndTime), null, DateUtils.parseDateOozieTZ(pauseTime), true);
} catch (Exception ex) {
ex.printStackTrace();
fail("Invalid date" + ex);
}
JPAService jpaService = Services.get().get(JPAService.class);
CoordJobGetJPAExecutor coordGetCmd = new CoordJobGetJPAExecutor(job.getId());
CoordinatorJobBean coordJob = jpaService.execute(coordGetCmd);
assertEquals(Job.Status.RUNNING, coordJob.getStatus());
assertFalse(coordJob.isDoneMaterialization());
}
use of org.apache.oozie.service.JPAService in project oozie by apache.
the class TestCoordChangeXCommand method checkCoordJobs.
private void checkCoordJobs(String jobId, Date endTime, Integer concurrency, Date pauseTime, boolean checkPauseTime) throws StoreException {
try {
JPAService jpaService = Services.get().get(JPAService.class);
assertNotNull(jpaService);
CoordJobGetJPAExecutor coordGetCmd = new CoordJobGetJPAExecutor(jobId);
CoordinatorJobBean job = null;
job = jpaService.execute(coordGetCmd);
if (endTime != null) {
Date d = job.getEndTime();
if (d.compareTo(endTime) != 0) {
fail("Endtime is not updated properly job_end_time=" + d + ", expected_end_time=" + endTime);
}
CoordinatorJob.Status status = job.getStatus();
if (status != CoordinatorJob.Status.RUNNING) {
fail("Coordinator job's status is not updated properly");
}
}
if (concurrency != null) {
int c = job.getConcurrency();
if (c != concurrency) {
fail("Concurrency is not updated properly");
}
}
if (checkPauseTime) {
Date d = job.getPauseTime();
if (pauseTime == null) {
if (d != null) {
fail("Pausetime is not updated properly job_pause_time=" + d + ", expected_pause_time=" + pauseTime);
}
} else {
if (d.compareTo(pauseTime) != 0) {
fail("Pausetime is not updated properly job_pause_time=" + d + ", expected_pause_time=" + pauseTime);
}
}
}
} catch (JPAExecutorException e) {
e.printStackTrace();
}
}
Aggregations