You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Tom Irvine (Jira)" <ji...@apache.org> on 2021/01/29 14:57:00 UTC

[jira] [Commented] (AVRO-2633) C# - AvroGen tool - Document for record type is not included in the Schema field

    [ https://issues.apache.org/jira/browse/AVRO-2633?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17274493#comment-17274493 ] 

Tom Irvine commented on AVRO-2633:
----------------------------------

I created a fix for this.  I tried to push my changes to create a pull request, but am getting permission denied for my github user.  What do I need to do to get permission to push?

> 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
>            Priority: Critical
>
> 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)