@Override public void flush(TaskAttemptExecutionAPIEntity entity) { Map<String, Object> fields = new HashMap<>(entity.getTags()); fields.put("startTime", entity.getStartTime()); fields.put("endTime", entity.getEndTime()); fields.put("taskStatus", entity.getTaskStatus()); if (!fields.containsKey(MRJobTagName.ERROR_CATEGORY.toString())) { fields.put("errorCategory", ""); } collector.collect(stormStreamId, new ValuesArray(fields.get(MRJobTagName.TASK_ATTEMPT_ID.toString()), fields)); } }
@Override public void jobEntityCreated(JobBaseAPIEntity entity) throws Exception { if (!(entity instanceof TaskAttemptExecutionAPIEntity)) { return; } TaskAttemptExecutionAPIEntity e = (TaskAttemptExecutionAPIEntity) entity; Map<String, String> tags = new HashMap<>(); tags.put(MRJobTagName.SITE.toString(), e.getTags().get(MRJobTagName.SITE.toString())); tags.put(MRJobTagName.JOD_DEF_ID.toString(), e.getTags().get(MRJobTagName.JOD_DEF_ID.toString())); tags.put(MRJobTagName.RACK.toString(), e.getTags().get(MRJobTagName.RACK.toString())); tags.put(MRJobTagName.HOSTNAME.toString(), e.getTags().get(MRJobTagName.HOSTNAME.toString())); tags.put(MRJobTagName.JOB_ID.toString(), e.getTags().get(MRJobTagName.JOB_ID.toString())); tags.put(MRJobTagName.TASK_TYPE.toString(), e.getTags().get(MRJobTagName.TASK_TYPE.toString())); CounterKey key = new CounterKey(); key.tags = tags; key.timestamp = roundToMinute(e.getEndTime()); CounterValue value = counters.get(key); if (value == null) { value = new CounterValue(); counters.put(key, value); } if (e.getTaskStatus().equals(EagleTaskStatus.FAILED.name())) { value.failedCount++; } else if (e.getTaskStatus().equals(EagleTaskStatus.KILLED.name())) { value.killedCount++; } value.totalCount++; }
if (!e.getTaskStatus().equals(EagleTaskStatus.FAILED.name()) && !e.getTaskStatus().equals(EagleTaskStatus.KILLED.name())) { return; failureTask.setFailureCount(1); // hard coded to 1 unless we do pre-aggregation in the future failureTask.setTimestamp(e.getTimestamp()); failureTask.setTaskStatus(e.getTaskStatus()); failureTasks.add(failureTask);
if (entity.getTaskStatus().equals(EagleTaskStatus.FAILED.name()) || entity.getTaskStatus().equals(EagleTaskStatus.KILLED.name())) { jobExecutionEntity.setFailedMapAttempts(1 + jobExecutionEntity.getFailedMapAttempts()); if (entity.getTaskStatus().equals(EagleTaskStatus.FAILED.name()) || entity.getTaskStatus().equals(EagleTaskStatus.KILLED.name())) { jobExecutionEntity.setFailedReduceAttempts(1 + jobExecutionEntity.getFailedReduceAttempts());