public List<Stage> stalledStages() { final List<Stage> stalledStages = new ArrayList<>(); final long currentTime = getCurrentTime(); final Iterator<Stage> stageItr = sc.dagScheduler().runningStages().iterator(); while (stageItr.hasNext()) { final Stage stage = stageItr.next(); final int stageId = stage.id(); if (lastActiveTime.containsKey(stageId)) { if (currentTime - lastActiveTime.get(stageId) > stageTimeoutMillis) { stalledStages.add(stage); } } } return stalledStages; }