This is an automated email from the ASF dual-hosted git repository.
pvary pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/branch-3 by this push:
new 397e2f5 HIVE-24797: Disable validate default values when parsing Avro
schemas (#2670)
397e2f5 is described below
commit 397e2f530fd7b778399c689ceaf65fbbd6e951f8
Author: Jacob Ilias Komissar <[email protected]>
AuthorDate: Wed Oct 6 10:57:39 2021 -0400
HIVE-24797: Disable validate default values when parsing Avro schemas
(#2670)
---
.../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 d16abdb..e0e7392 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
@@ -276,17 +276,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);
}
@@ -294,10 +297,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);
}