Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-2148

Avro: Schema compatibility/evolution - attribute size change

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 1.8.2
    • None
    • spec
    • avro

    Description

      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": "" }

      Attachments

        Activity

          People

            Unassigned Unassigned
            ashsskum Ashok
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: