Package com.opengamma.engine.calcnode

Examples of com.opengamma.engine.calcnode.CalculationJob


  protected static List<CalculationJobItem> createTestJobItems() {
    return Collections.emptyList();
  }

  protected static CalculationJob createTestJob() {
    return new CalculationJob(createTestJobSpec(), 0L, VersionCorrection.LATEST, null, createTestJobItems(), CacheSelectHint.allPrivate());
  }
View Full Code Here


  @Test
  public void registerInvokerWithJobPending() {
    s_logger.info("registerInvokerWithJobPending");
    final JobDispatcher jobDispatcher = new JobDispatcher();
    final TestJobResultReceiver result = new TestJobResultReceiver();
    final CalculationJob job = createTestJob();
    jobDispatcher.dispatchJob(job, result);
    assertNull(result.getResult());
    final TestJobInvoker jobInvoker = new TestJobInvoker("Test");
    jobDispatcher.registerJobInvoker(jobInvoker);
    final CalculationJobResult jobResult = result.waitForResult(TIMEOUT);
    assertNotNull(jobResult);
    assertEquals(job.getSpecification(), jobResult.getSpecification());
    assertNull(jobInvoker._callback);
  }
View Full Code Here

    s_logger.info("registerInvokerWithEmptyQueue");
    final JobDispatcher jobDispatcher = new JobDispatcher();
    final TestJobInvoker jobInvoker = new TestJobInvoker("Test");
    jobDispatcher.registerJobInvoker(jobInvoker);
    final TestJobResultReceiver result = new TestJobResultReceiver();
    final CalculationJob job = createTestJob();
    jobDispatcher.dispatchJob(job, result);
    final CalculationJobResult jobResult = result.waitForResult(TIMEOUT);
    assertNotNull(jobResult);
    assertEquals(job.getSpecification(), jobResult.getSpecification());
    assertNull(jobInvoker._callback);
  }
View Full Code Here

    assertNull(jobInvoker._callback);
  }

  private void nodeTest(final String expectedNodeId, final JobDispatcher jobDispatcher) {
    final TestJobResultReceiver result = new TestJobResultReceiver();
    final CalculationJob job = createTestJob();
    jobDispatcher.dispatchJob(job, result);
    final CalculationJobResult jobResult = result.waitForResult(TIMEOUT);
    assertNotNull(jobResult);
    assertEquals(job.getSpecification(), jobResult.getSpecification());
    assertEquals(expectedNodeId, jobResult.getComputeNodeId());
  }
View Full Code Here

    s_logger.info("testJobRetry_failure");
    final JobDispatcher jobDispatcher = new JobDispatcher();
    final TestJobResultReceiver result = new TestJobResultReceiver();
    final FailingJobInvoker failingInvoker = new FailingJobInvoker();
    jobDispatcher.registerJobInvoker(failingInvoker);
    final CalculationJob job = createTestJob();
    jobDispatcher.dispatchJob(job, result);
    CalculationJobResult jobResult = result.waitForResult(TIMEOUT);
    assertNotNull(jobResult);
    assertEquals(2, failingInvoker._failureCount); // once failed twice at one node, job is aborted
    assertEquals(JobDispatcher.DEFAULT_JOB_FAILURE_NODE_ID, jobResult.getComputeNodeId());
View Full Code Here

    final TestJobResultReceiver result = new TestJobResultReceiver();
    final FailingJobInvoker failingInvoker = new FailingJobInvoker();
    final TestJobInvoker workingInvoker = new TestJobInvoker("Test");
    jobDispatcher.registerJobInvoker(failingInvoker);
    jobDispatcher.registerJobInvoker(workingInvoker);
    final CalculationJob job = createTestJob();
    jobDispatcher.dispatchJob(job, result);
    CalculationJobResult jobResult = result.waitForResult(TIMEOUT);
    assertNotNull(jobResult);
    assertEquals(1, failingInvoker._failureCount); // fail once at this node, then retried on another
    assertEquals("Test", jobResult.getComputeNodeId());
    assertEquals(job.getSpecification(), jobResult.getSpecification());
  }
View Full Code Here

  }

  public void basicTest() {
    final GraphExecutionPlan plan = create9JobPlan();
    final ExecutingGraph executing = new ExecutingGraph(plan, UniqueId.of("Cycle", "Test"), Instant.now(), VersionCorrection.LATEST);
    final CalculationJob job6 = executing.nextExecutableJob();
    assertJob(job6, 6);
    final CalculationJob job1 = executing.nextExecutableJob();
    assertJob(job1, 1);
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job1.getSpecification());
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job6.getSpecification());
    final CalculationJob job2 = executing.nextExecutableJob();
    assertJob(job2, 2);
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job6.getSpecification()); // Duplicate notification
    assertNull(executing.nextExecutableJob());
    assertNotNull(job2.getTail());
    assertEquals(job2.getTail().size(), 2);
    final Iterator<CalculationJob> itr = job2.getTail().iterator();
    final CalculationJob job3 = itr.next();
    assertJob(job3, 3);
    assertNull(job3.getTail());
    final CalculationJob job4 = itr.next();
    assertFalse(itr.hasNext());
    assertJob(job4, 4);
    assertNotNull(job4.getTail());
    assertEquals(job4.getTail().size(), 1);
    final CalculationJob job5 = job4.getTail().iterator().next();
    assertJob(job5, 5);
    assertNotNull(job5.getRequiredJobIds());
    assertEquals(job5.getRequiredJobIds().length, 2);
    assertEquals(job5.getRequiredJobIds()[0], job3.getSpecification().getJobId());
    assertEquals(job5.getRequiredJobIds()[1], job4.getSpecification().getJobId());
    assertNotNull(job5.getTail());
    assertEquals(job5.getTail().size(), 1);
    final CalculationJob job8 = job5.getTail().iterator().next();
    assertJob(job8, 8);
    executing.jobCompleted(job2.getSpecification());
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job3.getSpecification());
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job4.getSpecification());
    final CalculationJob job7 = executing.nextExecutableJob();
    assertJob(job7, 7);
    executing.jobCompleted(job5.getSpecification());
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job8.getSpecification());
    assertNull(executing.nextExecutableJob());
    executing.jobCompleted(job7.getSpecification());
    final CalculationJob job9 = executing.nextExecutableJob();
    assertJob(job9, 9);
    assertNull(executing.nextExecutableJob());
    assertFalse(executing.isFinished());
    executing.jobCompleted(job9.getSpecification());
    assertNull(executing.nextExecutableJob());
    assertTrue(executing.isFinished());
  }
View Full Code Here

   * @return the job that's been created, not null
   */
  public CalculationJob createCalculationJob(final CalculationJobSpecification jobSpec, final long functionInitializationId,
      final VersionCorrection resolverVersionCorrection, final long[] requiredJobIds) {
    assert (requiredJobIds == null) || (getInputJobCount() == requiredJobIds.length);
    return new CalculationJob(jobSpec, functionInitializationId, resolverVersionCorrection, requiredJobIds, getItems(), getCacheSelectHint());
  }
View Full Code Here

  public static CalculationJob getCalculationJob(final MockFunction function, final ExecutionLogMode logMode) {
    final Instant valuationTime = Instant.now();
    final CalculationJobSpecification jobSpec = new CalculationJobSpecification(UniqueId.of("Test", "ViewProcess"), CALC_CONF_NAME, valuationTime, 1L);
    final CalculationJobItem calculationJobItem = new CalculationJobItem(function.getUniqueId(), function.getDefaultParameters(), function.getTarget().toSpecification(),
        getMockFunctionInputs(function), function.getResultSpecs(), logMode);
    final CalculationJob calcJob = new CalculationJob(jobSpec, 0L, VersionCorrection.LATEST, null, Collections.singletonList(calculationJobItem), CacheSelectHint.allShared());
    return calcJob;
  }
View Full Code Here

   * @param jobInfo the map containing information about the tail job set
   * @return the actual job
   */
  protected CalculationJob createTailCalculationJob(final PlannedJob planned, final Map<PlannedJob, TailJobInfo> jobInfo) {
    final long[] requiredJobIds = jobInfo.get(planned).getRequiredJobIds();
    final CalculationJob actual = planned.createCalculationJob(createJobSpecification(), getFunctionInitializationId(), getResolverVersionCorrection(), requiredJobIds);
    addDependentCalculationJobs(actual, planned);
    addTailCalculationJobs(actual, planned, jobInfo);
    return actual;
  }
View Full Code Here

TOP

Related Classes of com.opengamma.engine.calcnode.CalculationJob

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.