You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Ryan Skraba (Jira)" <ji...@apache.org> on 2022/05/09 16:15:00 UTC

[jira] [Created] (AVRO-3514) Renaming a named type should either be compatible or incompatible.

Ryan Skraba created AVRO-3514:
---------------------------------

             Summary: Renaming a named type should either be compatible or incompatible.
                 Key: AVRO-3514
                 URL: https://issues.apache.org/jira/browse/AVRO-3514
             Project: Apache Avro
          Issue Type: Bug
            Reporter: Ryan Skraba


Currently, the Java SDK permits a RECORD schema (for example) to be renamed.  In other words, data serialized with an old schema named {{SimpleRecordV1}} can be deserialized as a record named {{SimpleRecordV2}}.

The Python SDK does not permit this to happen, causing an incompatibility error.

The spec says:
 It is an error if the two schemas do not match.
 To match, one of the following must hold:
...
both schemas are records with the same (unqualified) name

If I remember correctly this was discussed (on the mailing list?) and renaming a named type was considered OK and the Java SDK was being acceptably more lenient than the spec.  However, this causes difference in behaviour between Java and Python implementations.

We should decide which behaviour is preferred and align the SDK.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)