Examples of RiskRun


Examples of com.opengamma.batch.domain.RiskRun

  @Override
  public void cycleStarted(ViewCycleMetadata cycleMetadata) {
    try {
      s_logger.info("Starting new risk run for cycle ID {}", cycleMetadata.getViewCycleId());
      RiskRun riskRun = _batchRunWriter.startRiskRun(cycleMetadata,
                                                     Collections.<String, String>emptyMap(),
                                                     RunCreationMode.CREATE_NEW,
                                                     SnapshotMode.WRITE_THROUGH);
      _riskRuns.put(cycleMetadata.getViewCycleId(), riskRun);
      s_logger.info("New risk run started with ID {}, cycle ID {}",
                    riskRun.getId(), cycleMetadata.getViewCycleId());
    } catch (Exception e) {
      s_logger.error("Failed to write start of batch job. No results will be recorded.", e);
    }
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

  }

  @Override
  public void cycleCompleted(ViewComputationResultModel fullResult, ViewDeltaResultModel deltaResult) {
    try {
      RiskRun riskRun = getRiskRun(fullResult, deltaResult);
      _batchRunWriter.endRiskRun(riskRun.getObjectId());
      s_logger.info("Risk run ended, ID {}, cycle ID {}",
                    riskRun.getId(), getCycleId(fullResult, deltaResult));
    } catch (Exception e) {
      s_logger.error("Failed to write end of batch job. Job will appear incomplete.", e);
    }
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

    }
  }

  @Override
  public void cycleFragmentCompleted(ViewComputationResultModel fullFragment, ViewDeltaResultModel deltaFragment) {
    RiskRun riskRun = getRiskRun(fullFragment, deltaFragment);
    if (riskRun == null) {
      s_logger.warn("Skipping writing batch result fragment due to earlier failure to write start of batch job");
      return;
    }
    try {
      _batchRunWriter.addJobResults(riskRun.getObjectId(), fullFragment);
      s_logger.info("Added fragment results, ID {}, cycle ID {}",
                    riskRun.getId(), getCycleId(fullFragment, deltaFragment));
    } catch (Exception e) {
      s_logger.error("Error writing batch result fragment", e);
    }
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

    s_logger.info("Getting BatchDocument by unique id: ", uniqueId);
    final Long id = extractOid(uniqueId);
    return getHibernateTransactionTemplate().execute(new HibernateCallback<RiskRun>() {
      @Override
      public RiskRun doInHibernate(final Session session) throws HibernateException, SQLException {
        final RiskRun run = _dbBatchWriter.getRiskRunById(id);
        if (run != null) {
          return run;
        } else {
          throw new DataNotFoundException("Batch run not found: " + id);
        }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

  }

  public void endBatchInTransaction(ObjectId batchUniqueId) {
    ArgumentChecker.notNull(batchUniqueId, "uniqueId");
    s_logger.info("Ending batch {}", batchUniqueId);
    RiskRun run = getRiskRun(batchUniqueId);
    //
    _statusCacheByRunId.remove(run.getId());
    _computeFailureCacheByRunId.remove(run.getId());
    _riskRunsByIds.remove(run.getId());
    //
    Instant now = now();
    run.setEndInstant(now);
    run.setComplete(true);
    getHibernateTemplate().update(run);
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

    getHibernateTemplate().flush();
  }

  public void deleteBatchInTransaction(ObjectId batchUniqueId) {
    s_logger.info("Deleting batch {}", batchUniqueId);
    RiskRun run = getRiskRun(batchUniqueId);
    deleteRunInTransaction(run);
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

    final Long id = extractOid(uniqueId);
    return getRiskRunById(id);
  }

  protected RiskRun getRiskRun(ObjectId batchId) {
    RiskRun run = findRiskRunInDb(batchId);
    if (run == null) {
      throw new DataNotFoundException("Cannot find run in database for " + batchId);
    } else {
      return run;
    }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

    Instant now = Instant.now();

    MarketData values = createOrGetMarketDataInTransaction(baseMarketDataSnapshotUid);

    RiskRun riskRun = new RiskRun();
    riskRun.setMarketData(values);
    riskRun.setVersionCorrection(versionCorrection);
    riskRun.setViewDefinitionUid(viewDefinitionUid);
    riskRun.setValuationTime(valuationTime);
    riskRun.setCreateInstant(now);
    riskRun.setStartInstant(now);
    riskRun.setNumRestarts(0);
    riskRun.setComplete(false);
    riskRun.setSnapshotMode(snapshotMode);

    for (Map.Entry<String, String> parameter : batchParameters.entrySet()) {
      riskRun.addProperty(parameter.getKey(), parameter.getValue());
    }

    getHibernateTemplate().save(riskRun);
    getHibernateTemplate().saveOrUpdateAll(riskRun.getProperties());
    getHibernateTemplate().flush();

    return riskRun;
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

  }

  public synchronized RiskRun startBatchInTransaction(ViewCycleMetadata cycleMetadata, Map<String, String> batchParameters, RunCreationMode runCreationMode, SnapshotMode snapshotMode) {
    s_logger.info("Starting batch ... {}", cycleMetadata);

    RiskRun run;
    switch (runCreationMode) {
      case AUTO:
        run = findRiskRunInDb(cycleMetadata.getValuationTime(), cycleMetadata.getVersionCorrection(),
            cycleMetadata.getViewDefinitionId(), cycleMetadata.getMarketDataSnapshotId());

        if (run != null) {
          // also check parameter equality
          Map<String, String> existingProperties = run.getPropertiesMap();

          if (!existingProperties.equals(batchParameters)) {
            Set<Map.Entry<String, String>> symmetricDiff = Sets.symmetricDifference(existingProperties.entrySet(), batchParameters.entrySet());
            throw new IllegalStateException("Run parameters stored in DB differ from new parameters with respect to: " + symmetricDiff);
          }
        }

        if (run == null) {
          run = createRiskRunInTransaction(cycleMetadata.getViewDefinitionId(), cycleMetadata.getMarketDataSnapshotId(),
              cycleMetadata.getVersionCorrection(), cycleMetadata.getValuationTime(), batchParameters, snapshotMode);
        } else {
          restartRunInTransaction(run);
        }
        break;

      case CREATE_NEW_OVERWRITE:
        run = findRiskRunInDb(cycleMetadata.getValuationTime(), cycleMetadata.getVersionCorrection(), cycleMetadata.getViewDefinitionId(), cycleMetadata.getMarketDataSnapshotId());
        if (run != null) {
          deleteRunInTransaction(run);
        }

        run = createRiskRunInTransaction(cycleMetadata.getViewDefinitionId(), cycleMetadata.getMarketDataSnapshotId(),
            cycleMetadata.getVersionCorrection(), cycleMetadata.getValuationTime(), batchParameters, snapshotMode);
        break;

      case CREATE_NEW:
        run = createRiskRunInTransaction(cycleMetadata.getViewDefinitionId(), cycleMetadata.getMarketDataSnapshotId(),
            cycleMetadata.getVersionCorrection(), cycleMetadata.getValuationTime(), batchParameters, snapshotMode);
        break;

      case REUSE_EXISTING:
        run = findRiskRunInDb(cycleMetadata.getValuationTime(), cycleMetadata.getVersionCorrection(), cycleMetadata.getViewDefinitionId(), cycleMetadata.getMarketDataSnapshotId());
        if (run == null) {
          throw new IllegalStateException("Cannot find run in database for " + cycleMetadata);
        }
        restartRunInTransaction(run);
        break;

      default:
        throw new RuntimeException("Unexpected run creation mode " + runCreationMode);
    }

    populateCalculationConfigurations(run.getId(), cycleMetadata);
    populateRiskValueRequirements(cycleMetadata);

    Collection<ComputationTargetSpecification> computationTargets = newArrayList();
    for (final String configName : cycleMetadata.getAllCalculationConfigurationNames()) {
      for (com.opengamma.engine.ComputationTargetSpecification computationTarget : cycleMetadata.getComputationTargets(configName)) {
        computationTargets.add(computationTarget);
      }
    }
    populateComputationTargets(computationTargets);

    _statusCacheByRunId.put(run.getId(), new ConcurrentHashMap<Pair<Long, Long>, StatusEntry>());
    _computeFailureCacheByRunId.put(run.getId(), new ConcurrentHashMap<ComputeFailureKey, ComputeFailure>());

    _riskRunsByIds.put(run.getId(), run);

    return run;
  }
View Full Code Here

Examples of com.opengamma.batch.domain.RiskRun

    Map<ComputeFailureKey, ComputeFailure> computeFailureCache = _computeFailureCacheByRunId.get(riskRunId);
    Map<Pair<Long, Long>, StatusEntry> statusCache = _statusCacheByRunId.get(riskRunId);

    Map<ValueSpecification, BatchResultWriterFailure> errorCache = populateErrorCache(computeFailureCache, resultModel.getAllResults());
   
    RiskRun run = _riskRunsByIds.get(riskRunId);
    if (run.getSnapshotMode().equals(SnapshotMode.WRITE_THROUGH)) {
      addComputedValuesToMarketDataInTransaction(run.getMarketData().getObjectId(), resultModel.getAllMarketData());
    }

    for (String calcConfigName : resultModel.getCalculationConfigurationNames()) {
      ViewCalculationResultModel viewCalculationResultModel = resultModel.getCalculationResult(calcConfigName);
     
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.