[
https://issues.apache.org/jira/browse/AVRO-1571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15029915#comment-15029915
]
Damiaan van der Kruk commented on AVRO-1571:
--------------------------------------------
Got the same problem as [~rajiv.a1] but then with generating a protocol schema
from a interface with parameterized types. For example generating a protocol
schema from:
public interface GenericType<T extends Number> {
T m(T x);
}
Results in:
org.apache.avro.AvroTypeException: Error getting schema for T: Unknown type: T
at org.apache.avro.reflect.ReflectData.getSchema(ReflectData.java:682)
at org.apache.avro.reflect.ReflectData.getMessage(ReflectData.java:640)
at org.apache.avro.reflect.ReflectData.getProtocol(ReflectData.java:619)
When will this be fixed and/or is their any workaround for this for now?
> Support parameterized types in Avro
> -----------------------------------
>
> Key: AVRO-1571
> URL: https://issues.apache.org/jira/browse/AVRO-1571
> Project: Avro
> Issue Type: Bug
> Affects Versions: 1.7.6
> Reporter: Sachin Goyal
>
> The below code cannot be serialized by Avro.
> {code}
> class ParameterTypes {
> Master1 m1;
> Master2 m2;
> Master3<Integer> m3;
> }
> class Foo <P, Q> {
> P p;
> Q q;
> }
> class Master1 {
> Foo <Integer, Long> foo;
> }
> class Master2 {
> Foo <String, String> foo;
> }
> class Master3 <P> {
> Foo <P, P> foo;
> }
> {code}
> This is because when generating the schema, only the current class is used to
> generate the schema. The parent class' context is missing in
> ReflectData#createSchema() functions where the actual type-information is
> present.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)