Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.7.6, 1.7.7, 1.8.1
-
None
-
None
Description
The below code cannot be serialized by Avro.
class Leaf <P, Q> { P p; Q q; } class Root { Middle1 m1; Middle2 m2; Middle3<Integer> m3; } class Middle1 { Leaf <Integer, Long> foo; } class Middle2 { Leaf <String, String> foo; } class Middle3 <P> { Leaf <P, P> foo; }
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 actually present.
Please see the attached test too for a simpler case.