@Override protected void loadState() throws CommandException { Configuration conf; try { conf = new XConfiguration(new StringReader(actionBean.getRunConf())); } catch (IOException e1) { LOG.warn("Configuration parse error. read from DB :" + actionBean.getRunConf()); throw new CommandException(ErrorCode.E1005, e1.getMessage(), e1); } url = conf.get(OozieClient.COORD_ACTION_NOTIFICATION_URL); if (url != null) { url = url.replaceAll(ACTION_ID_PATTERN, actionBean.getId()); url = url.replaceAll(STATUS_PATTERN, actionBean.getStatus().toString()); proxyConf = conf.get(OozieClient.COORD_ACTION_NOTIFICATION_PROXY, Services.get().getConf().get(NOTIFICATION_PROXY_KEY)); LOG.debug("Proxy :" + proxyConf); } LOG.debug("Notification URL :" + url); LogUtils.setLogInfo(actionBean); } }
@Override protected void loadState() throws CommandException { Configuration conf; try { conf = new XConfiguration(new StringReader(actionBean.getRunConf())); } catch (IOException e1) { LOG.warn("Configuration parse error. read from DB :" + actionBean.getRunConf()); throw new CommandException(ErrorCode.E1005, e1.getMessage(), e1); } url = conf.get(OozieClient.COORD_ACTION_NOTIFICATION_URL); if (url != null) { url = url.replaceAll(ACTION_ID_PATTERN, actionBean.getId()); url = url.replaceAll(STATUS_PATTERN, actionBean.getStatus().toString()); proxyConf = conf.get(OozieClient.COORD_ACTION_NOTIFICATION_PROXY, Services.get().getConf().get(NOTIFICATION_PROXY_KEY)); LOG.debug("Proxy :" + proxyConf); } LOG.debug("Notification URL :" + url); LogUtils.setLogInfo(actionBean); } }
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());
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());
.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())
/** * Serialize the coordinator bean to a data output. * * @param dataOutput data output. * @throws IOException thrown if the coordinator bean could not be * serialized. */ @Override public void write(DataOutput dataOutput) throws IOException { WritableUtils.writeStr(dataOutput, getJobId()); WritableUtils.writeStr(dataOutput, getType()); WritableUtils.writeStr(dataOutput, getId()); WritableUtils.writeStr(dataOutput, getCreatedConf()); WritableUtils.writeStr(dataOutput, getStatus().toString()); dataOutput.writeInt(getActionNumber()); WritableUtils.writeStr(dataOutput, getRunConf()); WritableUtils.writeStr(dataOutput, getExternalStatus()); WritableUtils.writeStr(dataOutput, getTrackerUri()); WritableUtils.writeStr(dataOutput, getConsoleUrl()); WritableUtils.writeStr(dataOutput, getErrorCode()); WritableUtils.writeStr(dataOutput, getErrorMessage()); dataOutput.writeLong((getCreatedTime() != null) ? getCreatedTime().getTime() : -1); dataOutput.writeLong((getLastModifiedTime() != null) ? getLastModifiedTime().getTime() : -1); }
public void testCoordChangeConcurrency() throws Exception { Date startTime = DateUtils.parseDateOozieTZ("2013-08-01T00:00Z"); Date endTime = DateUtils.parseDateOozieTZ("2013-08-01T04:59Z"); final CoordinatorJobBean job = addRecordToCoordJobTableForPauseTimeTest(CoordinatorJob.Status.RUNNING, startTime, endTime, endTime, true, false, 4); CoordinatorActionBean ca1 = addRecordToCoordActionTable(job.getId(), 1, CoordinatorAction.Status.RUNNING, "coord-action-get.xml", 0); CoordinatorActionBean ca2 = addRecordToCoordActionTable(job.getId(), 2, CoordinatorAction.Status.RUNNING, "coord-action-get.xml", 0); CoordinatorActionBean ca3 = addRecordToCoordActionTable(job.getId(), 3, CoordinatorAction.Status.READY, "coord-action-get.xml", 0); CoordinatorActionBean ca4 = addRecordToCoordActionTable(job.getId(), 4, CoordinatorAction.Status.READY, "coord-action-get.xml", 0); new CoordChangeXCommand(job.getId(), "concurrency=4").call(); Thread.sleep(100); ca1 = CoordActionQueryExecutor.getInstance().get(CoordActionQueryExecutor.CoordActionQuery.GET_COORD_ACTION, job.getId() + "@1"); ca2 = CoordActionQueryExecutor.getInstance().get(CoordActionQueryExecutor.CoordActionQuery.GET_COORD_ACTION, job.getId() + "@2"); ca3 = CoordActionQueryExecutor.getInstance().get(CoordActionQueryExecutor.CoordActionQuery.GET_COORD_ACTION, job.getId() + "@3"); ca4 = CoordActionQueryExecutor.getInstance().get(CoordActionQueryExecutor.CoordActionQuery.GET_COORD_ACTION, job.getId() + "@4"); assertEquals(CoordinatorAction.Status.RUNNING.toString(), ca1.getStatusStr()); assertEquals(CoordinatorAction.Status.RUNNING.toString(), ca2.getStatusStr()); assertEquals(CoordinatorAction.Status.READY.toString(), ca3.getStatusStr()); assertEquals(CoordinatorAction.Status.READY.toString(), ca4.getStatusStr()); } // Checks that RUNNING coord action is not deleted
/** * Serialize the coordinator bean to a data output. * * @param dataOutput data output. * @throws IOException thrown if the coordinator bean could not be * serialized. */ @Override public void write(DataOutput dataOutput) throws IOException { WritableUtils.writeStr(dataOutput, getJobId()); WritableUtils.writeStr(dataOutput, getType()); WritableUtils.writeStr(dataOutput, getId()); WritableUtils.writeStr(dataOutput, getCreatedConf()); WritableUtils.writeStr(dataOutput, getStatus().toString()); dataOutput.writeInt(getActionNumber()); WritableUtils.writeStr(dataOutput, getRunConf()); WritableUtils.writeStr(dataOutput, getExternalStatus()); WritableUtils.writeStr(dataOutput, getTrackerUri()); WritableUtils.writeStr(dataOutput, getConsoleUrl()); WritableUtils.writeStr(dataOutput, getErrorCode()); WritableUtils.writeStr(dataOutput, getErrorMessage()); dataOutput.writeLong((getCreatedTime() != null) ? getCreatedTime().getTime() : -1); dataOutput.writeLong((getLastModifiedTime() != null) ? getLastModifiedTime().getTime() : -1); }
public void setStatus(Status status) { this.statusStr = status.toString(); }
public void testMultipleRecords() throws Exception { String request = "bundle=" + bundleName + ";actionstatus=FAILED,KILLED;" + "startcreatedtime=2012-07-21T00:00Z;endcreatedtime=2012-07-22T02:00Z;" + "startscheduledtime=2012-07-20T23:00Z;endscheduledtime=2012-07-22T03:00Z"; BulkResponseInfo response = _execQuery(request); List<BulkResponseImpl> brList = response.getResponses(); assertEquals(3, brList.size()); // 3 actions satisfy the conditions assertEquals(3, response.getTotal()); List<String> possibleStatus = new ArrayList<String>(Arrays.asList("KILLED", "FAILED")); List<String> resultStatus = new ArrayList<String>(); resultStatus.add(brList.get(0).getAction().getStatus().toString()); resultStatus.add(brList.get(1).getAction().getStatus().toString()); assertEquals(possibleStatus, resultStatus); }
@Override public void onCoordinatorActionEvent(CoordinatorActionEvent event) { sendEventToSLAService(event, event.getStatus().toString()); }
public void setStatus(Status status) { this.statusStr = status.toString(); }
@Override public void onCoordinatorActionEvent(CoordinatorActionEvent event) { sendEventToSLAService(event, event.getStatus().toString()); }
public void testDefaultStatus() throws Exception { // adding coordinator action #4 to Coord#3 addRecordToCoordActionTable("Coord3", 1, CoordinatorAction.Status.FAILED, "coord-action-get.xml", 0); String request = "bundle=" + bundleName + ";"; BulkResponseInfo response = _execQuery(request); List<BulkResponseImpl> brList = response.getResponses(); assertEquals(4, brList.size()); // 4 actions satisfy the conditions assertEquals(4, response.getTotal()); List<String> possibleStatus = new ArrayList<String>(Arrays.asList("FAILED", "KILLED")); List<String> resultStatus = new ArrayList<String>(); resultStatus.add(brList.get(0).getAction().getStatus().toString()); resultStatus.add(brList.get(1).getAction().getStatus().toString()); assertEquals(possibleStatus, resultStatus); }
private void _testPendingFalseStatusCount(String jobId, int expected) throws Exception { JPAService jpaService = Services.get().get(JPAService.class); assertNotNull(jpaService); CoordActionsPendingFalseStatusCountGetJPAExecutor actionSucceededCmd = new CoordActionsPendingFalseStatusCountGetJPAExecutor( jobId, CoordinatorAction.Status.SUCCEEDED.toString()); int cnt = jpaService.execute(actionSucceededCmd); assertEquals(cnt, expected); }