Return-Path: X-Original-To: apmail-flink-issues-archive@minotaur.apache.org Delivered-To: apmail-flink-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5966A180B1 for ; Thu, 29 Oct 2015 13:31:47 +0000 (UTC) Received: (qmail 36261 invoked by uid 500); 29 Oct 2015 13:31:39 -0000 Delivered-To: apmail-flink-issues-archive@flink.apache.org Received: (qmail 35188 invoked by uid 500); 29 Oct 2015 13:31:36 -0000 Mailing-List: contact issues-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list issues@flink.apache.org Received: (qmail 34485 invoked by uid 99); 29 Oct 2015 13:31:34 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Oct 2015 13:31:32 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id BC4962C1F5B for ; Thu, 29 Oct 2015 13:31:27 +0000 (UTC) Date: Thu, 29 Oct 2015 13:31:27 +0000 (UTC) From: "Andra Lungu (JIRA)" To: issues@flink.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (FLINK-2899) The groupReduceOn* methods which take types as a parameter fail with TypeErasure MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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 edgesFunction, EdgeDirection direction, TypeInformation 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)