Description
SpecificRecord put() used by datumreader does not account for that String fields can be represented as org.apache.avro.util.Utf8 or other CharSequence which might not be castable to java.lang.String.
The result is that when it tries to deserialize Utf8-fields it fails with a ClassCastException.
Proposed solution: toString() instead of cast for Strings.
To reproduce error: Serialize schema with String definitions from the .Net Avro library, ex Confluent.Apache.Avro. It will default to UTF-8 for strings, and fail when deserializing the same schema from the JVM.
Attachments
Issue Links
- is related to
-
AVRO-2702 Avro ResolvingGrammarGenerator does not honor "avro.java.string" property in inner record schemas
- Resolved
- links to