You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Miguel (JIRA)" <ji...@apache.org> on 2018/02/12 16:18:00 UTC

[jira] [Updated] (AVRO-2143) ReflectData should determine inner class names in a different way.

     [ https://issues.apache.org/jira/browse/AVRO-2143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Miguel updated AVRO-2143:
-------------------------
    Description: 
I used ReflectData to generate schemas containing inner classes. These classes were named automatically by ReflectData with dollar ('$'), with, for example com.company.avro.House$Type. Nevertheless @AvroAlias does not support aliases containing '$' in names. In particulr, it fails in validateName in Schema core class. The failure is correct given that AVRO name specs does notinclude the '$' symbol. 

I suppose that ReflectData should, for example, generate inner class names in a different way, such as replacing '$' by dots ('.'), or it should fail.

And a detail: Although I cannot add aliases with '$', I can still encode and decode such objects and inner classes using that schema. 

I think that it newer versions it is also happening.
 

  was:
I used ReflectData to generate schemas containing inner classes. These classes were named automatically by ReflectData with dollar ('$'). Nevertheless @AvroAlias does not support aliases containing '$' in names. It fails in validateName in Schema core class. The failure is correct given that AVRO name specs state that the names cannot contain '$'. 

Therefore, ReflectData should, for example, generate inner class names in a different way, such as replacing '$' by dots ('.'), or should fail.

Although I cannot add aliases, I can still encode and decode such objects and inner classes using that schema. 

I think that newer versions are also affected.
 


> ReflectData should determine inner class names in a different way.
> ------------------------------------------------------------------
>
>                 Key: AVRO-2143
>                 URL: https://issues.apache.org/jira/browse/AVRO-2143
>             Project: Avro
>          Issue Type: Improvement
>    Affects Versions: 1.7.7
>            Reporter: Miguel
>            Priority: Major
>
> I used ReflectData to generate schemas containing inner classes. These classes were named automatically by ReflectData with dollar ('$'), with, for example com.company.avro.House$Type. Nevertheless @AvroAlias does not support aliases containing '$' in names. In particulr, it fails in validateName in Schema core class. The failure is correct given that AVRO name specs does notinclude the '$' symbol. 
> I suppose that ReflectData should, for example, generate inner class names in a different way, such as replacing '$' by dots ('.'), or it should fail.
> And a detail: Although I cannot add aliases with '$', I can still encode and decode such objects and inner classes using that schema. 
> I think that it newer versions it is also happening.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)