[
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)