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)