José Magalhães created AVRO-3090:
------------------------------------
Summary: C# AvroGen - Generated _SCHEMA field not including "doc",
"primaryKey" and "order"
Key: AVRO-3090
URL: https://issues.apache.org/jira/browse/AVRO-3090
Project: Apache Avro
Issue Type: Bug
Components: csharp
Affects Versions: 1.10.2
Reporter: José Magalhães
This issue is causing producers not to find the schemas when serializing
messages.
How to reproduce:
1. Create a MyRecord.avsc file:
{code:java}
{
"type": "record",
"name": "MyRecord",
"namespace": "my.namespace",
"doc": "my documentation",
"fields": [
{
"name": "field1",
"type": {
"type": "int",
"primaryKey": true
}
},
{
"name": "field2",
"type": {
"type": "string",
"order": "ascending"
},
"aliases": [ "field3" ]
}]
}
{code}
2. Run avrogen to generate the C# class:
{code:java}
avrogen -s MyRecord.avsc .{code}
3. Check the output:
{code:java}
/// <summary>
/// my documentation
/// </summary>
public partial class MyRecord : ISpecificRecord
{
public static Schema _SCHEMA =
Avro.Schema.Parse("{\"type\":\"record\",\"name\":\"MyRecord\",\"namespace\":\"my.namespace\",\"fields\":[{\"name\":\""
+
"field1\",\"type\":\"int\"},{\"name\":\"field2\",\"type\":\"string\",\"aliases\":[\"field3\"]}]}");
{code}
The generated schema does not include the "doc", "primaryKey" and "order" data
as it would be expected, which makes it very different from the schema the
class was generated from.
Serializers that do not allow the automatic registration of schemas will never
be able to find the schema and will always throw the "schema not found" error.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)