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

Reply via email to