You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (JIRA)" <ji...@apache.org> on 2016/03/11 17:51:39 UTC

[jira] [Assigned] (FLINK-3602) Recursive Types are not supported / crash TypeExtractor

     [ https://issues.apache.org/jira/browse/FLINK-3602?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timo Walther reassigned FLINK-3602:
-----------------------------------

    Assignee: Timo Walther

> Recursive Types are not supported / crash TypeExtractor
> -------------------------------------------------------
>
>                 Key: FLINK-3602
>                 URL: https://issues.apache.org/jira/browse/FLINK-3602
>             Project: Flink
>          Issue Type: Bug
>          Components: Type Serialization System
>    Affects Versions: 1.0.0
>            Reporter: Stephan Ewen
>            Assignee: Timo Walther
>            Priority: Critical
>
> As per the user mailing list, this can be reproduced with a recursive Avro type.
> h2. Avro Type
> {code}
> {
>   "namespace": "..."
>   "type": "record"
>   "name": "Item",
>   "fields": [
>     {
>       "name": "parent"
>       "type": ["null, "Item"]
>     }
>   ]
> }
> {code}
> h2. Exception
> {code}
> Exception in thread "Thread-94" java.lang.StackOverflowError
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.countTypeInHierarchy(TypeExtractor.java:1105)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1397)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1319)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfoWithTypeHierarchy(TypeExtractor.java:609)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.analyzePojo(TypeExtractor.java:1531)
> 	at org.apache.flink.api.java.typeutils.AvroTypeInfo.generateFieldsFromAvroSchema(AvroTypeInfo.java:53)
> 	at org.apache.flink.api.java.typeutils.AvroTypeInfo.<init>(AvroTypeInfo.java:48)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1394)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1319)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfoWithTypeHierarchy(TypeExtractor.java:609)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.analyzePojo(TypeExtractor.java:1531)
> 	at org.apache.flink.api.java.typeutils.AvroTypeInfo.generateFieldsFromAvroSchema(AvroTypeInfo.java:53)
> 	at org.apache.flink.api.java.typeutils.AvroTypeInfo.<init>(AvroTypeInfo.java:48)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1394)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1319)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfoWithTypeHierarchy(TypeExtractor.java:609)
> 	at org.apache.flink.api.java.typeutils.TypeExtractor.analyzePojo(TypeExtractor.java:1531)
> 	at org.apache.flink.api.java.typeutils.AvroTypeInfo.generateFieldsFromAvroSchema(AvroTypeInfo.java:53)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)