Search in sources :

Example 1 with CoordJobGetActionByActionNumberJPAExecutor

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());
}
Also used : CoordinatorJobBean(org.apache.oozie.CoordinatorJobBean) JPAExecutorException(org.apache.oozie.executor.jpa.JPAExecutorException) CoordJobGetJPAExecutor(org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor) CoordJobGetActionByActionNumberJPAExecutor(org.apache.oozie.executor.jpa.CoordJobGetActionByActionNumberJPAExecutor) JPAService(org.apache.oozie.service.JPAService) Date(java.util.Date)

Example 2 with CoordJobGetActionByActionNumberJPAExecutor

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);
}
Also used : CoordinatorJobBean(org.apache.oozie.CoordinatorJobBean) SLARegistrationBean(org.apache.oozie.sla.SLARegistrationBean) JsonBean(org.apache.oozie.client.rest.JsonBean) CoordinatorActionBean(org.apache.oozie.CoordinatorActionBean) ArrayList(java.util.ArrayList) Date(java.util.Date) JPAExecutorException(org.apache.oozie.executor.jpa.JPAExecutorException) CoordJobGetJPAExecutor(org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor) CoordJobGetActionByActionNumberJPAExecutor(org.apache.oozie.executor.jpa.CoordJobGetActionByActionNumberJPAExecutor) JPAService(org.apache.oozie.service.JPAService) SLASummaryBean(org.apache.oozie.sla.SLASummaryBean)

Aggregations

Date (java.util.Date)2 CoordinatorJobBean (org.apache.oozie.CoordinatorJobBean)2 CoordJobGetActionByActionNumberJPAExecutor (org.apache.oozie.executor.jpa.CoordJobGetActionByActionNumberJPAExecutor)2 CoordJobGetJPAExecutor (org.apache.oozie.executor.jpa.CoordJobGetJPAExecutor)2 JPAExecutorException (org.apache.oozie.executor.jpa.JPAExecutorException)2 JPAService (org.apache.oozie.service.JPAService)2 ArrayList (java.util.ArrayList)1 CoordinatorActionBean (org.apache.oozie.CoordinatorActionBean)1 JsonBean (org.apache.oozie.client.rest.JsonBean)1 SLARegistrationBean (org.apache.oozie.sla.SLARegistrationBean)1 SLASummaryBean (org.apache.oozie.sla.SLASummaryBean)1