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);
     }

Reply via email to