You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Richard Wilkinson (Jira)" <ji...@apache.org> on 2020/06/29 16:03:00 UTC
[jira] [Created] (AVRO-2873) Reflect Reader does not handle cases
where record name is different
Richard Wilkinson created AVRO-2873:
---------------------------------------
Summary: Reflect Reader does not handle cases where record name is different
Key: AVRO-2873
URL: https://issues.apache.org/jira/browse/AVRO-2873
Project: Apache Avro
Issue Type: Bug
Components: csharp
Affects Versions: 1.9.2
Reporter: Richard Wilkinson
It is possible that two record schema with different names are compatible (using an alias), but the ReflectDefaultReader only ever registers the readerSchema in the class cache.
- [https://github.com/apache/avro/blob/master/lang/csharp/src/apache/main/Reflect/ReflectDefaultReader.cs#L73]
However then during reading it queries the class cache for the writer schema:
[https://github.com/apache/avro/blob/master/lang/csharp/src/apache/main/Reflect/ReflectDefaultReader.cs#L421]
Since the class cache is keyed on FullName, this lookup fails.
This could be fixed by conditionally also registering the writerSchema if FullName is different, but can also be worked around by passing in my own ClassCache with the writerSchema already registered.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)