Example #1
0
 private StageInfo buildStageInfo(StageId stageId, Map<StageId, StageInfo> stageInfos) {
   StageInfo parent = stageInfos.get(stageId);
   checkArgument(parent != null, "No stageInfo for %s", parent);
   List<StageInfo> childStages =
       stageLinkages
           .get(stageId)
           .getChildStageIds()
           .stream()
           .map(childStageId -> buildStageInfo(childStageId, stageInfos))
           .collect(toImmutableList());
   if (childStages.isEmpty()) {
     return parent;
   }
   return new StageInfo(
       parent.getStageId(),
       parent.getState(),
       parent.getSelf(),
       parent.getPlan(),
       parent.getTypes(),
       parent.getStageStats(),
       parent.getTasks(),
       childStages,
       parent.getFailureCause());
 }