This is an automated email from the ASF dual-hosted git repository. sunchao pushed a commit to branch branch-2.3 in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/branch-2.3 by this push: new 324f9fa HIVE-24797: Disable validate default values when parsing Avro schemas (#1994) 324f9fa is described below commit 324f9faf12d4b91a9359391810cb3312c004d356 Author: Yuming Wang <yumw...@ebay.com> AuthorDate: Wed Feb 24 01:59:51 2021 +0800 HIVE-24797: Disable validate default values when parsing Avro schemas (#1994) --- .../org/apache/hadoop/hive/serde2/avro/AvroSerdeUtils.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerdeUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerdeUtils.java index 79d31c7..0de690c 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerdeUtils.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerdeUtils.java @@ -263,17 +263,20 @@ public class AvroSerdeUtils { return dec; } + private static Schema.Parser getSchemaParser() { + // HIVE-24797: Disable validate default values when parsing Avro schemas. + return new Schema.Parser().setValidateDefaults(false); + } + public static Schema getSchemaFor(String str) { - Schema.Parser parser = new Schema.Parser(); - Schema schema = parser.parse(str); + Schema schema = getSchemaParser().parse(str); return schema; } public static Schema getSchemaFor(File file) { - Schema.Parser parser = new Schema.Parser(); Schema schema; try { - schema = parser.parse(file); + schema = getSchemaParser().parse(file); } catch (IOException e) { throw new RuntimeException("Failed to parse Avro schema from " + file.getName(), e); } @@ -281,10 +284,9 @@ public class AvroSerdeUtils { } public static Schema getSchemaFor(InputStream stream) { - Schema.Parser parser = new Schema.Parser(); Schema schema; try { - schema = parser.parse(stream); + schema = getSchemaParser().parse(stream); } catch (IOException e) { throw new RuntimeException("Failed to parse Avro schema", e); }