public List<OozieResourceEntity> joinOozieResourceSensitivity(String site, List<CoordinatorJob> coordinatorJobs) { OozieSensitivityMetadataDAO oozieSensitivityMetadataDAO = new OozieSensitivityMetadataDAOImpl(); Map<String, String> sensitivityMap = oozieSensitivityMetadataDAO.getOozieSensitivityMap(site); LOG.info("Joining Resource with Sensitivity data .."); List<OozieResourceEntity> result = new ArrayList<>(); for (CoordinatorJob eachJob : coordinatorJobs) { OozieResourceEntity entity = new OozieResourceEntity(eachJob.getId(), eachJob.getAppName(), sensitivityMap.get(eachJob.getId())); result.add(entity); } return result; }
public List<OozieResourceEntity> joinOozieResourceSensitivity(String site, List<CoordinatorJob> coordinatorJobs) { OozieSensitivityMetadataDAO oozieSensitivityMetadataDAO = new OozieSensitivityMetadataDAOImpl(); Map<String, String> sensitivityMap = oozieSensitivityMetadataDAO.getOozieSensitivityMap(site); LOG.info("Joining Resource with Sensitivity data .."); List<OozieResourceEntity> result = new ArrayList<>(); for (CoordinatorJob eachJob : coordinatorJobs) { OozieResourceEntity entity = new OozieResourceEntity(eachJob.getId(), eachJob.getAppName(), sensitivityMap.get(eachJob.getId())); result.add(entity); } return result; }
void storeLastCoordinators(final File outputDir, int numCoordinators, int maxChildActions) { if (numCoordinators == 0) { return; } try { final List<CoordinatorJob> jobs = client.getCoordJobsInfo(null, 0, numCoordinators); for (CoordinatorJob job : jobs) { getCoordJob(outputDir, job.getId(), maxChildActions); } } catch (OozieClientException e) { System.err.printf("Exception occurred during the retrieval of information on the last %d coordinator(s): %s.%n", numCoordinators, e.getMessage()); } }
private void printBundleJob(BundleJob bundleJob, boolean localtime, boolean verbose) { System.out.println("Job ID : " + bundleJob.getId()); System.out.println(RULER); List<CoordinatorJob> coordinators = bundleJob.getCoordinators(); System.out.println("Job Name : " + maskIfNull(bundleJob.getAppName())); System.out.println("App Path : " + maskIfNull(bundleJob.getAppPath())); System.out.println("Status : " + bundleJob.getStatus()); System.out.println("Kickoff time : " + bundleJob.getKickoffTime()); System.out.println(RULER); System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, "Job ID", "Status", "Freq", "Unit", "Started", "Next Materialized")); System.out.println(RULER); for (CoordinatorJob job : coordinators) { System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, maskIfNull(job.getId()), job.getStatus(), job .getFrequency(), job.getTimeUnit(), maskDate(job.getStartTime(), localtime), maskDate(job .getNextMaterializedTime(), localtime))); System.out.println(RULER); } }
@VisibleForTesting void printBundleJob(BundleJob bundleJob, String timeZoneId, boolean verbose) { System.out.println("Job ID : " + bundleJob.getId()); System.out.println(RULER); List<CoordinatorJob> coordinators = bundleJob.getCoordinators(); System.out.println("Job Name : " + maskIfNull(bundleJob.getAppName())); System.out.println("App Path : " + maskIfNull(bundleJob.getAppPath())); System.out.println("Status : " + bundleJob.getStatus()); System.out.println("Kickoff time : " + bundleJob.getKickoffTime()); System.out.println(RULER); System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, "Job ID", "Status", "Freq", "Unit", "Started", "Next Materialized")); System.out.println(RULER); for (CoordinatorJob job : coordinators) { System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, maskIfNull(job.getId()), job.getStatus(), job.getFrequency(), job.getTimeUnit(), maskDate(job.getStartTime(), timeZoneId, verbose), maskDate(job.getNextMaterializedTime(), timeZoneId, verbose))); System.out.println(RULER); } }
@VisibleForTesting void printBundleJob(BundleJob bundleJob, String timeZoneId, boolean verbose) { System.out.println("Job ID : " + bundleJob.getId()); System.out.println(RULER); List<CoordinatorJob> coordinators = bundleJob.getCoordinators(); System.out.println("Job Name : " + maskIfNull(bundleJob.getAppName())); System.out.println("App Path : " + maskIfNull(bundleJob.getAppPath())); System.out.println("Status : " + bundleJob.getStatus()); System.out.println("Kickoff time : " + bundleJob.getKickoffTime()); System.out.println(RULER); System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, "Job ID", "Status", "Freq", "Unit", "Started", "Next Materialized")); System.out.println(RULER); for (CoordinatorJob job : coordinators) { System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, maskIfNull(job.getId()), job.getStatus(), job.getFrequency(), job.getTimeUnit(), maskDate(job.getStartTime(), timeZoneId, verbose), maskDate(job.getNextMaterializedTime(), timeZoneId, verbose))); System.out.println(RULER); } }
private void printBundleJob(BundleJob bundleJob, boolean localtime, boolean verbose) { System.out.println("Job ID : " + bundleJob.getId()); System.out.println(RULER); List<CoordinatorJob> coordinators = bundleJob.getCoordinators(); System.out.println("Job Name : " + maskIfNull(bundleJob.getAppName())); System.out.println("App Path : " + maskIfNull(bundleJob.getAppPath())); System.out.println("Status : " + bundleJob.getStatus()); System.out.println("Kickoff time : " + bundleJob.getKickoffTime()); System.out.println(RULER); System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, "Job ID", "Status", "Freq", "Unit", "Started", "Next Materialized")); System.out.println(RULER); for (CoordinatorJob job : coordinators) { System.out.println(String.format(BUNDLE_COORD_JOBS_FORMATTER, maskIfNull(job.getId()), job.getStatus(), job .getFrequency(), job.getTimeUnit(), maskDate(job.getStartTime(), localtime), maskDate(job .getNextMaterializedTime(), localtime))); System.out.println(RULER); } }
private void getBundleJob(final File outputDir, final String jobId, int maxChildActions) { if (jobId == null || !isBundle(jobId)) { return; } try { System.out.print("Getting Details for " + jobId + "..."); final File bundleOutputDir = new File(outputDir, jobId); if (!createOutputDirectory(bundleOutputDir)) { return; } final BundleJob job = client.getBundleJobInfo(jobId); try (DiagBundleEntryWriter bundleEntryWriter = new DiagBundleEntryWriter(bundleOutputDir, "info.txt")) { persistBundleJobInfo(job, bundleEntryWriter); } storeCommonDetails(bundleOutputDir, jobId, "bundle", job.getConf()); System.out.println("Done"); for (CoordinatorJob coordJob : job.getCoordinators()) { getCoordJob(outputDir, coordJob.getId(), maxChildActions); } } catch (IOException | OozieClientException e) { System.err.printf(String.format("Exception occurred during the retrieval of bundle information: %s%n", e.getMessage())); } }
public boolean evaluate() throws Exception { BundleActionBean mybundleAction = jpaService.execute(new BundleActionGetJPAExecutor(bundle.getId(), "coord1")); return !mybundleAction.getCoordId().equals(coord.getId()); } });
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()) System.out.println(String.format(COORD_JOBS_FORMATTER, maskIfNull(job.getId()), maskIfNull(job .getAppName()), job.getStatus(), job.getFrequency(), job.getTimeUnit(), maskDate(job .getStartTime(), timeZoneId, verbose), maskDate(job.getNextMaterializedTime(), timeZoneId, verbose)));
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()) System.out.println(String.format(COORD_JOBS_FORMATTER, maskIfNull(job.getId()), maskIfNull(job .getAppName()), job.getStatus(), job.getFrequency(), job.getTimeUnit(), maskDate(job .getStartTime(), localtime), maskDate(job.getNextMaterializedTime(), localtime)));
private CoordinatorActionBean createCoordinatorActionBean(CoordinatorJob job) throws IOException { CoordinatorActionBean actionBean = new CoordinatorActionBean(); String actionId = Services.get().get(UUIDService.class).generateChildId(job.getId(), "1"); actionBean.setJobId(job.getId()); actionBean.setId(actionId); Configuration jobConf = new XConfiguration(new StringReader(job.getConf())); actionBean.setRunConf(XmlUtils.prettyPrint(jobConf).toString()); return actionBean; }
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()) System.out.println(String.format(COORD_JOBS_FORMATTER, maskIfNull(job.getId()), maskIfNull(job .getAppName()), job.getStatus(), job.getFrequency(), job.getTimeUnit(), maskDate(job .getStartTime(), timeZoneId, verbose), maskDate(job.getNextMaterializedTime(), timeZoneId, verbose)));
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()) System.out.println(String.format(COORD_JOBS_FORMATTER, maskIfNull(job.getId()), maskIfNull(job .getAppName()), job.getStatus(), job.getFrequency(), job.getTimeUnit(), maskDate(job .getStartTime(), localtime), maskDate(job.getNextMaterializedTime(), localtime)));
@VisibleForTesting void printCoordJob(CoordinatorJob coordJob, String timeZoneId, boolean verbose) { System.out.println("Job ID : " + coordJob.getId());
private void printCoordJob(CoordinatorJob coordJob, boolean localtime, boolean verbose) { System.out.println("Job ID : " + coordJob.getId());
private void printCoordJob(CoordinatorJob coordJob, boolean localtime, boolean verbose) { System.out.println("Job ID : " + coordJob.getId());
private void _testGetJob(String jobId, String appPath) throws Exception { CoordinatorEngine ce = new CoordinatorEngine(getTestUser()); CoordinatorJob job = ce.getCoordJob(jobId); assertEquals(jobId, job.getId()); assertEquals(job.getAppPath(), appPath); }
/** * If the bundle action is in PREP state and coord is already created, recovery should not submit new coord * @throws Exception */ public void testBundleRecoveryCoordExists() throws Exception { final BundleJobBean bundle; final CoordinatorJob coord; bundle = addRecordToBundleJobTable(Job.Status.RUNNING, false); coord = addRecordToCoordJobTable(Job.Status.PREP, false, false); addRecordToBundleActionTable(bundle.getId(), coord.getId(), "coord1", 1, Job.Status.PREP); final JPAService jpaService = Services.get().get(JPAService.class); sleep(3000); Runnable recoveryRunnable = new RecoveryRunnable(0, 1,1); recoveryRunnable.run(); waitFor(3000, new Predicate() { public boolean evaluate() throws Exception { BundleActionBean mybundleAction = jpaService.execute(new BundleActionGetJPAExecutor(bundle.getId(), "coord1")); return !mybundleAction.getCoordId().equals(coord.getId()); } }); BundleActionBean mybundleAction = jpaService.execute(new BundleActionGetJPAExecutor(bundle.getId(), "coord1")); assertEquals(coord.getId(), mybundleAction.getCoordId()); }
assertEquals(1, jobInfo.getCoordJobs().size()); CoordinatorJob job = jobInfo.getCoordJobs().get(0); assertEquals(jobId, job.getId());