You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Ashok (JIRA)" <ji...@apache.org> on 2018/02/21 23:16:00 UTC

[jira] [Commented] (AVRO-2148) Avro: Schema compatibility/evolution - attribute size change

    [ https://issues.apache.org/jira/browse/AVRO-2148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16372187#comment-16372187 ] 

Ashok commented on AVRO-2148:
-----------------------------

FYI, Hive avro deserializer is being used to read the Avro data files and that requires to be associated with a schema.  Without being able to evolve the schema, parsing the data of multiple versions will get difficult and hence the need to allow the above

> Avro: Schema compatibility/evolution - attribute size change
> ------------------------------------------------------------
>
>                 Key: AVRO-2148
>                 URL: https://issues.apache.org/jira/browse/AVRO-2148
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.8.2
>            Reporter: Ashok
>            Priority: Critical
>
> Let's assume the schema changed from V1 to V2.  Currently, we can't create a merge of the two schema that makes it a compatible for both.  Depending on what size we keep in the reader schema (the merged schema), you can only read avro files of schema V1 or V2, not both.  If we keep the higher attribute size value (64), it should allow the read of avro files with lower attribute size value (16)
>  
>  * *V1 schema:*
> { "name": "sid", "type": [ "null",
> { "type": "fixed", "name": "SID", "namespace": "com.int.datatype", "doc": "", "size": *64* }
> ], "doc": "", "default": null, "businessLogic": "" }
>  
>  * *V2 schema:*
> { "name": "sid", "type": [ "null",
> { "type": "fixed", "name": "SID", "namespace": "com.int.datatype", "doc": "", "size": *16* }
> ], "doc": "", "default": null, "businessLogic": "" }



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)