Repository: hadoop Updated Branches: refs/heads/branch-2.8 0271fb1f1 -> b6fe3c20c
MAPREDUCE-6610. JobHistoryEventHandler should not swallow timeline response. Contributed by Li Lu Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b6fe3c20 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b6fe3c20 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b6fe3c20 Branch: refs/heads/branch-2.8 Commit: b6fe3c20c571003cdb862ccd9fd54356640b9d01 Parents: 0271fb1 Author: Jian He <jia...@apache.org> Authored: Mon Jan 25 23:01:03 2016 -0800 Committer: Jian He <jia...@apache.org> Committed: Mon Jan 25 23:01:52 2016 -0800 ---------------------------------------------------------------------- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../jobhistory/JobHistoryEventHandler.java | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b6fe3c20/hadoop-mapreduce-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 6a08efd..8401b6a 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -394,6 +394,9 @@ Release 2.8.0 - UNRELEASED MAPREDUCE-6614. Remove unnecessary code in TestMapreduceConfigFields. (Kai Sasaki via aajisaka) + MAPREDUCE-6610. JobHistoryEventHandler should not swallow timeline response + (Li Lu via jianhe) + Release 2.7.3 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/b6fe3c20/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java index 26649e8..1031e38 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/JobHistoryEventHandler.java @@ -23,6 +23,7 @@ import java.util.Collections; import java.util.EnumSet; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Timer; import java.util.TimerTask; @@ -63,6 +64,7 @@ import org.apache.hadoop.service.AbstractService; import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.yarn.api.records.timeline.TimelineEntity; import org.apache.hadoop.yarn.api.records.timeline.TimelineEvent; +import org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse; import org.apache.hadoop.yarn.client.api.TimelineClient; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.event.EventHandler; @@ -1013,7 +1015,21 @@ public class JobHistoryEventHandler extends AbstractService } try { - timelineClient.putEntities(tEntity); + TimelinePutResponse response = timelineClient.putEntities(tEntity); + List<TimelinePutResponse.TimelinePutError> errors = response.getErrors(); + if (errors.size() == 0) { + if (LOG.isDebugEnabled()) { + LOG.debug("Timeline entities are successfully put in event " + event + .getEventType()); + } + } else { + for (TimelinePutResponse.TimelinePutError error : errors) { + LOG.error( + "Error when publishing entity [" + error.getEntityType() + "," + + error.getEntityId() + "], server side error code: " + + error.getErrorCode()); + } + } } catch (IOException ex) { LOG.error("Error putting entity " + tEntity.getEntityId() + " to Timeline" + "Server", ex);