[ 
https://issues.apache.org/jira/browse/FLINK-3602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193194#comment-15193194
 ] 

ASF GitHub Bot commented on FLINK-3602:
---------------------------------------

GitHub user twalthr opened a pull request:

    https://github.com/apache/flink/pull/1787

    [FLINK-3602] Recursive Types are not supported / crash TypeExtractor

    Fix for recursive types in AvroTypeInfo.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/twalthr/flink RecursiveTypes

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/1787.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1787
    
----
commit c5470d29a296773f7d398be3aa7074f5c5bc2f96
Author: twalthr <[email protected]>
Date:   2016-03-14T12:36:51Z

    [FLINK-3602] Recursive Types are not supported / crash TypeExtractor

----


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

Reply via email to