new HashMap<TaskAttemptID, TaskStatus.State>();
JTFailoverMetrics jtFailoverMetrics = new JTFailoverMetrics();
for (CoronaStateUpdate update : updates) {
if (update.getTaskLaunch() != null) {
TaskLaunch launch = update.getTaskLaunch();
lastLaunch.put(launch.getTaskId(), launch);
} else if (update.getTaskStatus() != null) {
TaskStatus status = update.getTaskStatus();
lastKnownStatus.put(status.getTaskID(), status.getRunState());
jtFailoverMetrics.update(status);
}
}
StringBuilder result = new StringBuilder();
result.append("CoronaJTState report");
if (jobId != null) {
result.append(" for job ").append(jobId);
}
for (CoronaStateUpdate update : updates) {
TaskLaunch launch = update.getTaskLaunch();
if (launch != null) {
result.append("\n").append(launch).append(" last known ");
result.append(lastKnownStatus.get(launch.getTaskId()));
}
}
if (sessionId != null && !sessionId.isEmpty()) {
result.append("\n Session id ").append(sessionId);
}