Repository: hadoop Updated Branches: refs/heads/branch-2.7 f7d387003 -> 296ecbd5e
MAPREDUCE-6554. MRAppMaster servicestart failing with NPE in MRAppMaster#parsePreviousJobHistory. Contributed by Bibin A Chundatt Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/296ecbd5 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/296ecbd5 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/296ecbd5 Branch: refs/heads/branch-2.7 Commit: 296ecbd5ec9f7d2eed84217a3318b4a3bcd7bd99 Parents: f7d3870 Author: Jason Lowe <jl...@apache.org> Authored: Fri Jan 15 16:59:44 2016 +0000 Committer: Jason Lowe <jl...@apache.org> Committed: Fri Jan 15 16:59:44 2016 +0000 ---------------------------------------------------------------------- hadoop-mapreduce-project/CHANGES.txt | 6 ++++ .../mapreduce/jobhistory/EventReader.java | 31 +++++++++++++------- 2 files changed, 26 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/296ecbd5/hadoop-mapreduce-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index dbc6106..3d5e758 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -28,6 +28,9 @@ Release 2.7.3 - UNRELEASED MAPREDUCE-6583. Clarify confusing sentence in MapReduce tutorial document. (Kai Sasaki via aajisaka) + MAPREDUCE-6554. MRAppMaster servicestart failing with NPE in + MRAppMaster#parsePreviousJobHistory (Bibin A Chundatt via jlowe) + Release 2.7.2 - UNRELEASED INCOMPATIBLE CHANGES @@ -325,6 +328,9 @@ Release 2.6.4 - UNRELEASED MAPREDUCE-6363. [NNBench] Lease mismatch error when running with multiple mappers. (Vlad Sharanhovich and Bibin A Chundatt via aajisaka) + MAPREDUCE-6554. MRAppMaster servicestart failing with NPE in + MRAppMaster#parsePreviousJobHistory (Bibin A Chundatt via jlowe) + Release 2.6.3 - 2015-12-17 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/296ecbd5/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/jobhistory/EventReader.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/jobhistory/EventReader.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/jobhistory/EventReader.java index 84743e7..d55f24b 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/jobhistory/EventReader.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/jobhistory/EventReader.java @@ -20,9 +20,16 @@ package org.apache.hadoop.mapreduce.jobhistory; import java.io.Closeable; import java.io.DataInputStream; -import java.io.IOException; import java.io.EOFException; +import java.io.IOException; +import org.apache.avro.AvroRuntimeException; +import org.apache.avro.Schema; +import org.apache.avro.io.DatumReader; +import org.apache.avro.io.Decoder; +import org.apache.avro.io.DecoderFactory; +import org.apache.avro.specific.SpecificData; +import org.apache.avro.specific.SpecificDatumReader; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.fs.FileSystem; @@ -31,13 +38,6 @@ import org.apache.hadoop.mapreduce.CounterGroup; import org.apache.hadoop.mapreduce.Counters; import org.apache.hadoop.util.StringInterner; -import org.apache.avro.Schema; -import org.apache.avro.io.Decoder; -import org.apache.avro.io.DecoderFactory; -import org.apache.avro.io.DatumReader; -import org.apache.avro.specific.SpecificData; -import org.apache.avro.specific.SpecificDatumReader; - @InterfaceAudience.Private @InterfaceStability.Unstable public class EventReader implements Closeable { @@ -72,9 +72,18 @@ public class EventReader implements Closeable { } Schema myschema = new SpecificData(Event.class.getClassLoader()).getSchema(Event.class); - this.schema = Schema.parse(in.readLine()); - this.reader = new SpecificDatumReader(schema, myschema); - this.decoder = DecoderFactory.get().jsonDecoder(schema, in); + String eventschema = in.readLine(); + if (null != eventschema) { + try { + this.schema = Schema.parse(eventschema); + this.reader = new SpecificDatumReader(schema, myschema); + this.decoder = DecoderFactory.get().jsonDecoder(schema, in); + } catch (AvroRuntimeException e) { + throw new IOException(e); + } + } else { + throw new IOException("Event schema string not parsed since its null"); + } } /**