System.out.println(maskIfNull(job.getId()) + VERBOSE_DELIMITER + maskIfNull(job.getAppName()) + VERBOSE_DELIMITER + maskIfNull(job.getAppPath()) + VERBOSE_DELIMITER + maskIfNull(job.getConsoleUrl()) + VERBOSE_DELIMITER + maskIfNull(job.getUser()) + VERBOSE_DELIMITER + maskIfNull(job.getGroup()) + VERBOSE_DELIMITER + job.getRun() + VERBOSE_DELIMITER + maskDate(job.getCreatedTime(), timeZoneId, verbose) + VERBOSE_DELIMITER + maskDate(job.getStartTime(), timeZoneId, verbose) + VERBOSE_DELIMITER + job.getStatus() + VERBOSE_DELIMITER + maskDate(job.getLastModifiedTime(), timeZoneId, verbose) + VERBOSE_DELIMITER + maskDate(job.getEndTime(), timeZoneId, verbose)); System.out.println(String.format(WORKFLOW_JOBS_FORMATTER, maskIfNull(job.getId()), maskIfNull(job.getAppName()), job.getStatus(), maskIfNull(job.getUser()), maskIfNull(job.getGroup()), maskDate(job.getStartTime(), timeZoneId, verbose), maskDate(job.getEndTime(), timeZoneId, verbose)));
private static void printWorkflowInfo(WorkflowJob wf) { System.out.println("Application Path : " + wf.getAppPath()); System.out.println("Application Name : " + wf.getAppName()); System.out.println("Application Status : " + wf.getStatus()); System.out.println("Application Actions:"); for (WorkflowAction action : wf.getActions()) { System.out.println(MessageFormat.format(" Name: {0} Type: {1} Status: {2}", action.getName(), action.getType(), action.getStatus())); } System.out.println(); } }
private XConfiguration getWorkflowConf(Context context) throws IOException { if (workflowConf == null) { workflowConf = new XConfiguration(new StringReader(context.getWorkflow().getConf())); } return workflowConf; }
protected void injectSuperParent(WorkflowJob parentWorkflow, Configuration parentConf, Configuration conf) { String superParentId = parentConf.get(SUPER_PARENT_ID); if (superParentId == null) { // This is a sub-workflow at depth 1 superParentId = parentWorkflow.getParentId(); // If the parent workflow is not submitted through a coordinator then the parentId will be the super parent id. if (superParentId == null) { superParentId = parentWorkflow.getId(); } conf.set(SUPER_PARENT_ID, superParentId); } else { // Sub-workflow at depth 2 or more. conf.set(SUPER_PARENT_ID, superParentId); } }
void printWfsForCoordAction(List<WorkflowJob> jobs, String timeZoneId) throws IOException { if (jobs != null && jobs.size() > 0) { System.out.println(String.format("%-41s%-10s%-24s%-24s", "Job ID", "Status", "Started", "Ended")); System.out.println(RULER); for (WorkflowJob job : jobs) { System.out .println(String.format("%-41s%-10s%-24s%-24s", maskIfNull(job.getId()), job.getStatus(), maskDate(job.getStartTime(), timeZoneId, false), maskDate(job.getEndTime(), timeZoneId, false))); System.out.println(RULER); } } }
private void printJob(WorkflowJob job, boolean localtime, boolean verbose) throws IOException { System.out.println("Job ID : " + maskIfNull(job.getId())); System.out.println("Workflow Name : " + maskIfNull(job.getAppName())); System.out.println("App Path : " + maskIfNull(job.getAppPath())); System.out.println("Status : " + job.getStatus()); System.out.println("Run : " + job.getRun()); System.out.println("User : " + maskIfNull(job.getUser())); System.out.println("Group : " + maskIfNull(job.getGroup())); System.out.println("Created : " + maskDate(job.getCreatedTime(), localtime)); System.out.println("Started : " + maskDate(job.getStartTime(), localtime)); System.out.println("Last Modified : " + maskDate(job.getLastModifiedTime(), localtime)); System.out.println("Ended : " + maskDate(job.getEndTime(), localtime)); System.out.println("CoordAction ID: " + maskIfNull(job.getParentId())); List<WorkflowAction> actions = job.getActions(); System.out.println(RULER); for (WorkflowAction action : job.getActions()) { System.out.println(maskIfNull(action.getId()) + VERBOSE_DELIMITER + maskIfNull(action.getConsoleUrl()) + VERBOSE_DELIMITER for (WorkflowAction action : job.getActions()) { System.out.println(String.format(WORKFLOW_ACTION_FORMATTER, maskIfNull(action.getId()), action .getStatus(), maskIfNull(action.getExternalId()), maskIfNull(action.getExternalStatus()),
bundleEntryWriter.writeString("WORKFLOW\n") .writeString("--------\n") .writeStringValue("Workflow Id : ", job.getId()) .writeStringValue("Name : ", job.getAppName()) .writeStringValue("App Path : ", job.getAppPath()) .writeStringValue("User : ", job.getUser()) .writeStringValue("ACL : ", job.getAcl()) .writeStringValue("Status : ", job.getStatus().toString()) .writeStringValue("Console URL : ", job.getConsoleUrl()) .writeStringValue("External Id : ", job.getExternalId()) .writeStringValue("Parent Id : ", job.getParentId()) .writeDateValue("Created Time : ", job.getCreatedTime()) .writeDateValue("End Time : ", job.getEndTime()) .writeDateValue("Last Modified Time : ", job.getLastModifiedTime()) .writeDateValue("Start Time : ", job.getStartTime()) .writeIntValue("Run : ", job.getRun()) .writeIntValue("Action Count : ", job.getActions().size()) .writeNewLine() .writeString("ACTIONS\n") .flush(); final List<WorkflowAction> workflowActions = job.getActions(); for (int actionCount = 0; actionCount != workflowActions.size() && actionCount < maxChildActions; ++actionCount) { final WorkflowAction action = workflowActions.get(actionCount); storeOozieLauncherLog(resolvedActionsDir, action, job.getUser());
public boolean evaluate() throws Exception { return (wfClient.getJobInfo(jobId).getStatus() == WorkflowJob.Status.KILLED) && (wfClient.getJobInfo(jobId).getActions().get(1).getStatus() == WorkflowAction.Status.ERROR); } });
Status jobStatus = jobInfo.getStatus(); LOG.debug("Workflow job running ..."); LOG.debug("HiveActionWorkflowJob Status Try: {}", i); LOG.debug("HiveActionWorkflowJob Id: {}", jobInfo.getId()); LOG.debug("HiveActionWorkflowJob StartTime: {}", jobInfo.getStartTime()); LOG.debug("HiveActionWorkflowJob EndTime: {}", jobInfo.getEndTime()); LOG.debug("HiveActionWorkflowJob ConsoleURL: {}", jobInfo.getConsoleUrl()); LOG.debug("HiveActionWorkflowJob Status: {}", jobInfo.getStatus()); WorkflowAction workflowAction = jobInfo.getActions().get(0);
public boolean evaluate() throws Exception { try { engine.getJob(jobId).getStatus(); } catch (Exception ex) { return true; } return false; } });
assertEquals(WorkflowJob.Status.PREP, wf.getStatus()); boolean dateTest = wf.getLastModifiedTime().compareTo(wf.getCreatedTime()) >= 0 ? true : false; assertEquals(true, dateTest); wf = wc.getJobInfo(jobId); Date lastModTime = wf.getLastModifiedTime(); dateTest = wf.getLastModifiedTime().compareTo(lastModTime) >= 0 ? true : false; assertEquals(true, dateTest); lastModTime = wf.getLastModifiedTime(); wf = wc.getJobInfo(jobId); dateTest = wf.getLastModifiedTime().compareTo(lastModTime) >= 0 ? true : false; assertEquals(true, dateTest); assertEquals(WorkflowJob.Status.SUCCEEDED, wf.getStatus()); dateTest = wf.getLastModifiedTime().compareTo(wf.getEndTime()) >= 0 ? true : false; assertEquals(true, dateTest);
Configuration parentConf = new XConfiguration(new StringReader(context.getWorkflow().getConf())); injectCallback(context, subWorkflowConf); injectRecovery(extId, subWorkflowConf); injectParent(context.getWorkflow().getId(), subWorkflowConf); injectSuperParent(context.getWorkflow(), parentConf, subWorkflowConf); verifyAndInjectSubworkflowDepth(parentConf, subWorkflowConf); JobUtils.normalizeAppPath(context.getWorkflow().getUser(), context.getWorkflow().getGroup(), subWorkflowConf); String consoleUrl = workflow.getConsoleUrl(); context.setStartData(subWorkflowId, oozieUri, consoleUrl); if (runningJobId != null) {
String subWorkflowExternalId = wfClient.getJobInfo(jobId).getActions().get(1).getExternalId(); wfClient.kill(wfClient.getJobInfo(jobId).getActions().get(1).getExternalId()); WorkflowJob job = wfClient.getJobInfo(wfClient.getJobInfo(jobId).getActions().get(2).getExternalId()); assertEquals(WorkflowJob.Status.SUCCEEDED, job.getStatus()); assertEquals(job.getId(), subWorkflowExternalId);
XConfiguration wfConf = new XConfiguration(new StringReader(wf.getConf())); assertEquals("AA", wfConf.get("a")); assertEquals("B", wfConf.get("b")); assertEquals(WorkflowJob.Status.KILLED, engine.getJob(jobId1).getStatus()); waitFor(10000, new Predicate() { public boolean evaluate() throws Exception { assertEquals(wf.getId(), CallbackServlet.JOB_ID); assertTrue("kill".equals(CallbackServlet.NODE_NAME) || "a".equals(CallbackServlet.NODE_NAME)); assertTrue("T:null".equals(CallbackServlet.STATUS) || "T:kill".equals(CallbackServlet.STATUS));
private String getYarnApplicationName(final Context context, final WorkflowAction action, final String prefix) { return XLog.format("{0}:T={1}:W={2}:A={3}:ID={4}", prefix, getType(), context.getWorkflow().getAppName(), action.getName(), context.getWorkflow().getId()); }
Path appPathRoot = new Path(context.getWorkflow().getAppPath()); if (actionFs.isFile(appPathRoot)) { appPathRoot = appPathRoot.getParent(); launcherTime = Long.parseLong(coordActionNominalTime); else if (context.getWorkflow().getCreatedTime() != null) { launcherTime = context.getWorkflow().getCreatedTime().getTime(); String jobId = context.getWorkflow().getId(); String actionId = action.getId(); Path actionDir = context.getActionDir();
protected FileSystem getAppFileSystem(WorkflowJob workflow) throws HadoopAccessorException, IOException, URISyntaxException { URI uri = new URI(workflow.getAppPath()); HadoopAccessorService has = Services.get().get(HadoopAccessorService.class); Configuration fsConf = has.createConfiguration(uri.getAuthority()); return has.createFileSystem(workflow.getUser(), uri, fsConf); }
assertEquals(WorkflowJob.Status.FAILED, wfClient.getJobInfo(jobId1).getStatus()); assertEquals(WorkflowJob.Status.SUCCEEDED, wfClient.getJobInfo(jobId1).getStatus()); assertEquals("wf_test-feed_test", wfClient.getJobInfo(jobId1).getAppName());
@Override protected void streamJobLog(XLogStreamer logStreamer, String jobId, Writer writer) throws IOException, DagEngineException { logStreamer.getXLogFilter().setParameter(DagXLogInfoService.JOB, jobId); WorkflowJob job = getJob(jobId); Date lastTime = job.getEndTime(); if (lastTime == null) { lastTime = job.getLastModifiedTime(); } Services.get().get(XLogStreamingService.class).streamLog(logStreamer, job.getCreatedTime(), lastTime, writer); }
void storeLastWorkflows(final File outputDir, int numWorkflows, int maxChildActions) { if (numWorkflows == 0) { return; } try { final List<WorkflowJob> jobs = client.getJobsInfo(null, 0, numWorkflows); for (WorkflowJob job : jobs) { storeWorkflowJobDetails(outputDir, job.getId(), maxChildActions); } } catch (OozieClientException e) { System.err.printf("Exception occurred during the retrieval of information on the last %d workflow(s): %s.%n", numWorkflows, e.getMessage()); } }