// Process the streamed result fragment
final ExecutionLogMode executionLogMode = logModes.getLogMode(node);
final AggregatedExecutionLog aggregatedExecutionLog;
if (executionLogMode == ExecutionLogMode.FULL) {
final ExecutionLog log = jobResultItem.getExecutionLog();
MutableExecutionLog logCopy = null;
final Set<AggregatedExecutionLog> inputLogs = new LinkedHashSet<AggregatedExecutionLog>();
Set<ValueSpecification> missing = jobResultItem.getMissingInputs();
if (!missing.isEmpty()) {
if (logCopy == null) {
logCopy = new MutableExecutionLog(log);
}
logCopy.add(new SimpleLogEvent(log.hasException() ? LogLevel.WARN : LogLevel.INFO, toString("Missing input", missing)));
}
missing = jobResultItem.getMissingOutputs();
if (!missing.isEmpty()) {
if (logCopy == null) {
logCopy = new MutableExecutionLog(log);
}
logCopy.add(new SimpleLogEvent(LogLevel.WARN, toString("Failed to produce output", missing)));
}
for (final ValueSpecification inputValueSpec : node.getInputValues()) {
final DependencyNodeJobExecutionResult nodeResult = jobExecutionResultCache.get(inputValueSpec);
if (nodeResult == null) {
// Market data