You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Chao Sun (Jira)" <ji...@apache.org> on 2021/03/18 16:27:00 UTC

[jira] [Updated] (HIVE-24797) Disable validate default values when parsing Avro schemas

     [ https://issues.apache.org/jira/browse/HIVE-24797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chao Sun updated HIVE-24797:
----------------------------
    Fix Version/s: 2.3.9

> Disable validate default values when parsing Avro schemas
> ---------------------------------------------------------
>
>                 Key: HIVE-24797
>                 URL: https://issues.apache.org/jira/browse/HIVE-24797
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Yuming Wang
>            Assignee: Yuming Wang
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.3.9, 4.0.0
>
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> It will throw exceptions when upgrading Avro to 1.10.1 for this schema:
> {code:json}
> {
>     "type": "record",
>     "name": "EventData",
>     "doc": "event data",
>     "fields": [
>         {"name": "ARRAY_WITH_DEFAULT", "type": {"type": "array", "items": "string"}, "default": null }
>     ]
> }
> {code}
> {noformat}
> org.apache.avro.AvroTypeException: Invalid default for field ARRAY_WITH_DEFAULT: null not a {"type":"array","items":"string"}
> 	at org.apache.avro.Schema.validateDefault(Schema.java:1571)
> 	at org.apache.avro.Schema.access$500(Schema.java:87)
> 	at org.apache.avro.Schema$Field.<init>(Schema.java:544)
> 	at org.apache.avro.Schema.parse(Schema.java:1678)
> 	at org.apache.avro.Schema$Parser.parse(Schema.java:1425)
> 	at org.apache.avro.Schema$Parser.parse(Schema.java:1396)
> 	at org.apache.hadoop.hive.serde2.avro.AvroSerdeUtils.getSchemaFor(AvroSerdeUtils.java:287)
> 	at org.apache.hadoop.hive.serde2.avro.AvroSerdeUtils.getSchemaFromFS(AvroSerdeUtils.java:170)
> 	at org.apache.hadoop.hive.serde2.avro.AvroSerdeUtils.determineSchemaOrThrowException(AvroSerdeUtils.java:139)
> 	at org.apache.hadoop.hive.serde2.avro.AvroSerDe.determineSchemaOrReturnErrorSchema(AvroSerDe.java:187)
> 	at org.apache.hadoop.hive.serde2.avro.AvroSerDe.initialize(AvroSerDe.java:107)
> 	at org.apache.hadoop.hive.serde2.avro.AvroSerDe.initialize(AvroSerDe.java:83)
> 	at org.apache.hadoop.hive.serde2.SerDeUtils.initializeSerDe(SerDeUtils.java:533)
> 	at org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:493)
> 	at org.apache.hadoop.hive.ql.metadata.Partition.getDeserializer(Partition.java:225)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)