You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Fabian Hueske (JIRA)" <ji...@apache.org> on 2016/03/22 14:46:25 UTC

[jira] [Resolved] (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 ]

Fabian Hueske resolved FLINK-3602.
----------------------------------
       Resolution: Fixed
    Fix Version/s: 1.0.1
                   1.1.0

Fixed for 1.0.1 with 0880c59433b2ec578265bf51b1e81a5783935cd5
Fixed for 1.1.0 with 7785288af9597995c7d95017d135ef7824493aae

> 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
>             Fix For: 1.1.0, 1.0.1
>
>
> 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)