public void stopJob(JobTicket ticket, ConcurrentHashMap<String, JobTicket> activeJobs) { if ( ticket instanceof JobTicketImpl ) { JobTicketImpl ticketImpl = (JobTicketImpl) ticket; if ( ticketImpl.getJobType() == JobType.WRITE_BATCHER ) { ticketImpl.getWriteBatcher().stop(); } else if ( ticketImpl.getJobType() == JobType.QUERY_BATCHER ) { ticketImpl.getQueryBatcher().stop(); } activeJobs.remove(ticket.getJobId()); } }
JobTicket ticket = moveMgr.getActiveJob(queryBatcherJobId); assertTrue("Job should be started now", queryBatcher.isStarted()); assertEquals(queryBatcherJobName, ticket.getBatcher().getJobName()); moveMgr.stopJob(ticket.getBatcher());
JsonNode node = jobDocMgr.read("/jobs/" + tuple.y.getJobId() + ".json").next().getContent(new JacksonHandle()).get(); assertEquals(tuple.y.getJobId(), node.get("jobId").asText()); assertEquals(finalCounts.jobSuccessfulEvents, node.get("successfulEvents").asInt()); assertEquals(finalCounts.jobFailedEvents, node.get("failedEvents").asInt());
@Test public void runCollector() { assertEquals(0, getStagingDocCount()); assertEquals(0, getFinalDocCount()); Flow harmonizeFlow = fm.getFlow(ENTITY, "testharmonize", FlowType.HARMONIZE); HashMap<String, Object> options = new HashMap<>(); // a sneaky attempt to test passing options. this value makes the collector work. options.put("returnStuff", true); FlowRunner flowRunner = fm.newFlowRunner() .withFlow(harmonizeFlow) .withBatchSize(10) .withThreadCount(1) .withOptions(options) .withStopOnFailure(true); JobTicket ticket = flowRunner.run(); flowRunner.awaitCompletion(); assertEquals(0, getFinalDocCount()); JsonNode node = jobDocMgr.read("/jobs/" + ticket.getJobId() + ".json").next().getContent(new JacksonHandle()).get(); assertEquals(ticket.getJobId(), node.get("jobId").asText()); assertEquals(0, node.get("successfulEvents").asInt()); assertEquals(0, node.get("failedEvents").asInt()); assertEquals(0, node.get("failedBatches").asInt()); assertEquals("FAILED", node.get("status").asText()); } }
assertEquals(0, getFinalDocCount()); JsonNode node = jobDocMgr.read("/jobs/" + ticket.getJobId() + ".json").next().getContent(new JacksonHandle()).get(); assertEquals(ticket.getJobId(), node.get("jobId").asText()); assertEquals(0, node.get("successfulEvents").asInt()); assertEquals(10, node.get("failedEvents").asInt());
JsonNode node = jobDocMgr.read("/jobs/" + tuple.y.getJobId() + ".json").next().getContent(new JacksonHandle()).get(); assertEquals(tuple.y.getJobId(), node.get("jobId").asText()); assertEquals(finalCounts.jobSuccessfulEvents, node.get("successfulEvents").asInt()); assertEquals(finalCounts.jobFailedEvents, node.get("failedEvents").asInt());
JsonNode node = jobDocMgr.read("/jobs/" + tuple.y.getJobId() + ".json").next().getContent(new JacksonHandle()).get(); assertEquals(tuple.y.getJobId(), node.get("jobId").asText()); assertEquals(finalCounts.jobSuccessfulEvents, node.get("successfulEvents").asInt()); assertEquals(finalCounts.jobFailedEvents, node.get("failedEvents").asInt());