[
https://issues.apache.org/jira/browse/FLINK-2899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14980420#comment-14980420
]
Andra Lungu commented on FLINK-2899:
------------------------------------
I don't have the code with me right now. The exception looks something like
this:
org.apache.flink.api.common.functions.InvalidTypesException: Type of
TypeVariable 'K' in 'class
org.apache.flink.graph.library.TriangleCount$GatherHigherIdNeighbors' could not
be determined. This is most likely a type erasure problem. The type extraction
currently supports types with generic variables only in cases where all
variables in the return type can be deduced from the input type(s).
at
org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfoWithTypeHierarchy(TypeExtractor.java:451)
at
org.apache.flink.api.java.typeutils.TypeExtractor.privateCreateTypeInfo(TypeExtractor.java:379)
at
org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfo(TypeExtractor.java:345)
I proposed some sort of a workaround in a PR. Basically the problem is that
those methods receive a type as a parameter and then, for some reason, try to
create that type info instead of using the one provided.
> The groupReduceOn* methods which take types as a parameter fail with
> TypeErasure
> --------------------------------------------------------------------------------
>
> Key: FLINK-2899
> URL: https://issues.apache.org/jira/browse/FLINK-2899
> Project: Flink
> Issue Type: Bug
> Components: Gelly
> Affects Versions: 0.10
> Reporter: Andra Lungu
>
> I tried calling groupReduceOnEdges (EdgesFunctionWithVertexValue<K, VV, EV,
> T> edgesFunction, EdgeDirection direction, TypeInformation<T> typeInfo) in
> order to make the vertex-centric version of the Triangle Count library method
> applicable to any kind of key and I got a TypeErasure Exception.
> After doing a bit of debugging (see the hack in
> https://github.com/andralungu/flink/tree/trianglecount-vertexcentric), I saw
> that actually the call to
> TypeExtractor.createTypeInfo(NeighborsFunctionWithVertexValue.class, .... in
> ApplyNeighborCoGroupFunction does not work properly, i.e. it returns null.
> From what I see, the coGroup in groupReduceOnNeighbors tries to infer a type
> before "returns" is called.
> I may be missing something, but that particular feature (groupReduceOn with
> types) is not documented or tested so we would also need some tests for that.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)