@Override protected void verifyPrecondition() throws CommandException, PreconditionException { // if the action has been updated, quit this command Timestamp actionCheckTs = new Timestamp(System.currentTimeMillis() - actionCheckDelay * 1000); Timestamp cactionLmt = coordAction.getLastModifiedTimestamp(); if (cactionLmt.after(actionCheckTs)) { throw new PreconditionException(ErrorCode.E1100, "The coord action :" + actionId + " has been updated. Ignore CoordActionCheckCommand!"); } if (coordAction.getStatus().equals(CoordinatorAction.Status.SUCCEEDED) || coordAction.getStatus().equals(CoordinatorAction.Status.FAILED) || coordAction.getStatus().equals(CoordinatorAction.Status.KILLED)) { throw new PreconditionException(ErrorCode.E1100, "The coord action [" + actionId + "] must not have status " + CoordinatorAction.Status.SUCCEEDED.name() + ", " + CoordinatorAction.Status.FAILED.name() + ", or " + CoordinatorAction.Status.KILLED.name() + " but has status [" + coordAction.getStatus().name() + "]"); } } }
query.setParameter("nominalTime", actionBean.getNominalTimestamp()); query.setParameter("slaXml", actionBean.getSlaXmlBlob()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("id", actionBean.getId()); break; query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("pending", actionBean.getPending()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("actionXml", actionBean.getActionXmlBlob()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("actionXml", actionBean.getActionXmlBlob()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("runConf", actionBean.getRunConfBlob());
CoordinatorActionBean actionBean = getCoordAction(actionSet.iterator().next()); startTime = actionBean.getCreatedTime(); endTime = actionBean.getStatus().equals(CoordinatorAction.Status.RUNNING) ? new Date() : actionBean .getLastModifiedTime(); filter.setActionList(true); CoordinatorActionBean actionBean = getCoordAction(coordActionIdList.get(0)); startTime = actionBean.getCreatedTime(); endTime = actionBean.getStatus().equals(CoordinatorAction.Status.RUNNING) ? new Date() : actionBean .getLastModifiedTime(); filter.setActionList(true);
CoordinatorActionBean actionBean = getCoordAction(actionSet.iterator().next()); startTime = actionBean.getCreatedTime(); endTime = actionBean.getStatus().equals(CoordinatorAction.Status.RUNNING) ? new Date() : actionBean .getLastModifiedTime(); filter.setActionList(true); CoordinatorActionBean actionBean = getCoordAction(coordActionIdList.get(0)); startTime = actionBean.getCreatedTime(); endTime = actionBean.getStatus().equals(CoordinatorAction.Status.RUNNING) ? new Date() : actionBean .getLastModifiedTime(); filter.setActionList(true);
.addJobStatus(id1, CoordinatorAction.Status.RUNNING.name(), EventStatus.STARTED, new Date(), null); updateCoordAction(id3, "FAILED"); slaCalcMem.addJobStatus(id3, CoordinatorAction.Status.FAILED.name(), EventStatus.FAILURE, null, new Date()); dummySlaCalcMem.addJobStatus(id2, CoordinatorAction.Status.RUNNING.name(), EventStatus.STARTED, new Date(), null); updateCoordAction(id4, "FAILED"); dummySlaCalcMem.addJobStatus(id4, CoordinatorAction.Status.FAILED.name(), EventStatus.FAILURE, null, new Date()); slaCalcMem.addJobStatus(id1, CoordinatorAction.Status.SUCCEEDED.name(), EventStatus.SUCCESS, new Date( System.currentTimeMillis() - 1800 * 1000), new Date()); dummySlaCalcMem.addJobStatus(id2, CoordinatorAction.Status.SUCCEEDED.name(), EventStatus.SUCCESS, new Date( System.currentTimeMillis() - 1800 * 1000), new Date());
Pair.of(OozieClient.FILTER_STATUS, FILTER_COMPARATORS.EQUALS), getList(Status.SUCCEEDED.name())); actionGetCmd = new CoordJobGetActionsSubsetJPAExecutor(job.getId(), filterMap, 1, 10, true); actions = jpaService.execute(actionGetCmd);
action.setExternalId(wfJob3.getId()); CoordActionQueryExecutor.getInstance().executeUpdate(CoordActionQuery.UPDATE_COORD_ACTION_RERUN, action); slas.addStatusEvent(sla1.getId(), CoordinatorAction.Status.RUNNING.name(), EventStatus.STARTED, new Date(), new Date()); slas.addStatusEvent(sla2.getId(), CoordinatorAction.Status.SUCCEEDED.name(), EventStatus.SUCCESS, startTime, new Date()); slas.runSLAWorker(); sla1 = _createCoordActionSLARegistration(CoordinatorAction.Status.SUCCEEDED.name()); sla1.setExpectedStart(new Date(System.currentTimeMillis() + 1 * 3600 * 1000)); //1 hour ahead sla1.setExpectedEnd(new Date(System.currentTimeMillis() + 2 * 3600 * 1000)); //2 hours ahead slas.addRegistrationEvent(sla1); assertEquals(3, slas.getSLACalculator().size()); slas.addStatusEvent(sla1.getId(), CoordinatorAction.Status.SUCCEEDED.name(), EventStatus.SUCCESS, new Date(), new Date()); slas.runSLAWorker();
bean.setActionNumber((Integer) arr[1]); bean.setJobId((String) arr[2]); bean.setStatus(CoordinatorAction.Status.valueOf((String) arr[3])); bean.setRunConfBlob((StringBlob) arr[4]); bean.setNominalTime(DateUtils.toDate((Timestamp) arr[5]));
query.setParameter("nominalTime", actionBean.getNominalTimestamp()); query.setParameter("slaXml", actionBean.getSlaXmlBlob()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("id", actionBean.getId()); break; query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("pending", actionBean.getPending()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("actionXml", actionBean.getActionXmlBlob()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("actionXml", actionBean.getActionXmlBlob()); query.setParameter("status", actionBean.getStatus().toString()); query.setParameter("lastModifiedTime", new Date()); query.setParameter("runConf", actionBean.getRunConfBlob());
for(String value : values) { try { CoordinatorAction.Status.valueOf(value);
assertEquals(ErrorCode.E0421, ex.getErrorCode()); assertEquals("E0421: Invalid job filter [status=], invalid status value []. Valid status values are: [" + StringUtils.join(CoordinatorAction.Status.values(), ", ") + "]", ex.getMessage()); assertEquals("E0421: Invalid job filter [status=blahblah], invalid status value [blahblah]." + " Valid status values are: [" + StringUtils.join(CoordinatorAction.Status.values(), ", ") + "]", ex.getMessage()); assertEquals("E0421: Invalid job filter [status=\"\"], invalid status value [\"\"]." + " Valid status values are: [" + StringUtils.join(CoordinatorAction.Status.values(), ", ") + "]", ex.getMessage());
for(String value : values) { try { CoordinatorAction.Status.valueOf(value);
assertNotNull(slaEvent.getActualStart()); assertEquals(SLAStatus.IN_PROCESS, slaEvent.getSLAStatus()); assertEquals(CoordinatorAction.Status.RUNNING.name(), slaEvent.getJobStatus());
assertEquals(EventStatus.END_MISS, slaEvent.getEventStatus()); assertEquals(SLAStatus.MISS, slaEvent.getSLAStatus()); assertEquals(CoordinatorAction.Status.KILLED.name(), slaEvent.getJobStatus()); assertEquals(action.getId(), slaEvent.getId()); assertNotNull(slaEvent.getActualEnd()); assertEquals(EventStatus.END_MISS, slaEvent.getEventStatus()); assertEquals(SLAStatus.MISS, slaEvent.getSLAStatus()); assertEquals(CoordinatorAction.Status.KILLED.name(), slaEvent.getJobStatus()); assertEquals(action.getId(), slaEvent.getId()); assertNotNull(slaEvent.getActualEnd());
.writeIntValue("Action Number : ", action.getActionNumber()) .writeStringValue("Job Id : ", action.getJobId()) .writeStringValue("Status : ", action.getStatus().toString()) .writeStringValue("External Id : ", action.getExternalId()) .writeStringValue("External Status : ", action.getExternalStatus())
bean.setStatus(CoordinatorAction.Status.valueOf((String) arr[11]));