You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Thiruvalluvan M. G. (JIRA)" <ji...@apache.org> on 2018/12/30 05:25:00 UTC

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

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

Thiruvalluvan M. G. updated AVRO-2148:
--------------------------------------
    Component/s: spec

> Avro: Schema compatibility/evolution - attribute size change
> ------------------------------------------------------------
>
>                 Key: AVRO-2148
>                 URL: https://issues.apache.org/jira/browse/AVRO-2148
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: spec
>    Affects Versions: 1.8.2
>            Reporter: Ashok
>            Priority: Critical
>              Labels: patch
>
> 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 for the specific attribute in the reader schema (the merged), you can read avro files of schema V1 or V2, but not both.  If we keep the higher attribute size value (64) as part of the merged schema, 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)