wfJob.setParentId(actionId);
wfJob.setLastModifiedTime(new Date());
updateList.add(wfJob);
updateList.add(coordAction);
try {
jpaService.execute(new BulkUpdateInsertForCoordActionStartJPAExecutor(updateList, insertList));
if (EventHandlerService.isEnabled()) {
generateEvent(coordAction, user, appName, wfJob.getStartTime());
}
}
catch (JPAExecutorException je) {
throw new CommandException(je);
}
}
else {
log.error(ErrorCode.E0610);
}
makeFail = false;
}
catch (DagEngineException dee) {
errMsg = dee.getMessage();
errCode = dee.getErrorCode().toString();
log.warn("can not create DagEngine for submitting jobs", dee);
}
catch (CommandException ce) {
errMsg = ce.getMessage();
errCode = ce.getErrorCode().toString();
log.warn("command exception occured ", ce);
}
catch (java.io.IOException ioe) {
errMsg = ioe.getMessage();
errCode = "E1005";
log.warn("Configuration parse error. read from DB :" + coordAction.getRunConf(), ioe);
}
catch (Exception ex) {
errMsg = ex.getMessage();
errCode = "E1005";
log.warn("can not create DagEngine for submitting jobs", ex);
}
finally {
if (makeFail == true) { // No DB exception occurs
log.error("Failing the action " + coordAction.getId() + ". Because " + errCode + " : " + errMsg);
coordAction.setStatus(CoordinatorAction.Status.FAILED);
if (errMsg.length() > 254) { // Because table column size is 255
errMsg = errMsg.substring(0, 255);
}
coordAction.setErrorMessage(errMsg);
coordAction.setErrorCode(errCode);
updateList = new ArrayList<JsonBean>();
updateList.add(coordAction);
insertList = new ArrayList<JsonBean>();
SLAEventBean slaEvent = SLADbOperations.createStatusEvent(coordAction.getSlaXml(), coordAction.getId(), Status.FAILED,
SlaAppType.COORDINATOR_ACTION, log);
if(slaEvent != null) {
insertList.add(slaEvent); //Update SLA events
}
try {
// call JPAExecutor to do the bulk writes
jpaService.execute(new BulkUpdateInsertForCoordActionStartJPAExecutor(updateList, insertList));
if (EventHandlerService.isEnabled()) {
generateEvent(coordAction, user, appName, null);
}
}
catch (JPAExecutorException je) {