", name: " + node.getName() + ", features: " + Arrays.toString(features));
}
// second pass connects the edges
for (Map.Entry<OperatorKey, MapReduceOper> entry : planKeys.entrySet()) {
DAGNode node = this.dagNodeNameMap.get(entry.getKey().toString());
List<DAGNode<? extends Job>> successorNodeList = Lists.newArrayList();
List<MapReduceOper> successors = plan.getSuccessors(entry.getValue());
if (successors != null) {
for (MapReduceOper successor : successors) {
DAGNode<? extends Job> successorNode =
this.dagNodeNameMap.get(successor.getOperatorKey().toString());
successorNodeList.add(successorNode);
}
}
node.setSuccessors(successorNodeList);
}
AmbroseUtils.sendDagNodeNameMap(statsWriteService, scriptId, dagNodeNameMap);
}