You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Minh Nguyen (Jira)" <ji...@apache.org> on 2019/11/18 08:31:00 UTC
[jira] [Created] (AVRO-2633) C# - AvroGen tool - Document for
record type is not included in the Schema field
Minh Nguyen created AVRO-2633:
---------------------------------
Summary: C# - AvroGen tool - Document for record type is not included in the Schema field
Key: AVRO-2633
URL: https://issues.apache.org/jira/browse/AVRO-2633
Project: Apache Avro
Issue Type: Bug
Components: csharp
Affects Versions: 1.9.1
Reporter: Minh Nguyen
Steps to reproduce:
1) MyRecord.asvc file :
{code:java}
{
"type" : "record",
"doc" : "Doc for record"
"name" : "MyRecord",
"namespace" : "My.Namespace",
"fields" :
[
{ "name" : "Field1", "type" : "int" }
]
}
{code}
2) Run command to generate C# class from the Avro spec file:
avrogen -s MyRecord.asvc ./
-> Current behavior: the Schema field in C# class is missing the "doc" data, I got serialization error when tried to use this class because the subject in Schema Registry contains the "doc" field (I register the avro spec file to the schema registry seperately)
{code:java}
public partial class MyRecord : ISpecificRecord
{
public static Schema _SCHEMA = Schema.Parse("{\"type\":\"record\",\"name\":\"MyRecord\",\"namespace\":\"My.Namespace\",\"fields\":[{\"name\":\"" + "Field1\",\"type\":\"int\"}]}");
{code}
-> Expected behavior: we should have the "doc" field for type "record", so it will be consistent with the spec file
{code:java}
public partial class MyRecord : ISpecificRecord
{
public static Schema _SCHEMA = Schema.Parse("{\"type\":\"record\", \"doc\":\"Doc for record\", \"name\":\"MyRecord\", \"namespace\":\"My.Namespace\", \"fields\":[{\"name\":\"" + "Field1\",\"type\":\"int\"}]}");
{code}
As a work around, right now I have to remove the "doc" for the type "record" but I think we should have it there and not causing a problem.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)