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)