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 Fussenegger (Jira)" <ji...@apache.org> on 2020/11/08 10:56:00 UTC
[jira] [Created] (AVRO-2956) SpecificRecord decoding fails if Java
keyword is used as record name
Richard Fussenegger created AVRO-2956:
-----------------------------------------
Summary: SpecificRecord decoding fails if Java keyword is used as record name
Key: AVRO-2956
URL: https://issues.apache.org/jira/browse/AVRO-2956
Project: Apache Avro
Issue Type: Bug
Components: java
Affects Versions: 1.10.0
Reporter: Richard Fussenegger
Someone created an Avro definition where the name of a record is {{case}}:
{code:none}
protocol Proto {
record case {
string value;
}
record Wrapper {
case inner;
}
}
{code}
Code generation works and the generated Java code uses {{case$}} for the class name of the record. There is no problem in writing the Java code itself, however, decoding with a {{SpecificRecord.getDecoder()}} fails with a {{ClassCastException}}:
{code:none}
class org.apache.avro.generic.GenericData$Record cannot be cast to class case$ (org.apache.avro.generic.GenericData$Record and case$ are in unnamed module of loader 'app')
java.lang.ClassCastException: class org.apache.avro.generic.GenericData$Record cannot be cast to class case$ (org.apache.avro.generic.GenericData$Record and case$ are in unnamed module of loader 'app')
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)