You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by Bernhard G Häussermann <be...@icloud.com.INVALID> on 2020/04/08 18:24:55 UTC
AvroGen bug: Uncompilable code for records having a field with the
same name as the record
Good day,
I came across the following issue when generating C# classes from an Avro schema using the CodeGen class.
When generating code for a record having a field with the same name as the record, AvroGen produces a class containing a property having the same name as the class, which C# does not allow.
The Confluent.Apache.Avro package version used is 1.9.0.0
This is problematic when using the Avro.CodeGen class to generate Avro types at run-time.
How to reproduce
Invoke AvroGen on the schema below. It generates a class named "cars" containing a property named "cars".
{
"type": "record",
"name": "person",
"namespace": "Kafka.Tests.AvroTypes",
"fields": [
{
"name": "garage",
"type":
{
"type": "record",
"name": "cars",
"fields": [
{
"name": "cars",
"type": {
"type": "array",
"items": {
"type": "record",
"name": "car",
"fields": [
{
"name": "model",
"type": "string"
},
{
"name": "make",
"type": "string"
}
]
}
}
}
]
}
}
]
}
Best regards,
Bernhard Häussermann