[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15243362#comment-15243362 ] ASF GitHub Bot commented on FLINK-3762: --- Github user andrewpalumbo commented on the pull request: https://github.com/apache/flink/pull/1891#issuecomment-210576438 Thank you guys! > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo >Assignee: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15243283#comment-15243283 ] ASF GitHub Bot commented on FLINK-3762: --- Github user asfgit closed the pull request at: https://github.com/apache/flink/pull/1891 > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo >Assignee: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242751#comment-15242751 ] ASF GitHub Bot commented on FLINK-3762: --- Github user fhueske commented on the pull request: https://github.com/apache/flink/pull/1891#issuecomment-210403044 Thanks, will merge this PR to master and release-1.0 branches > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo >Assignee: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242748#comment-15242748 ] ASF GitHub Bot commented on FLINK-3762: --- Github user tillrohrmann commented on the pull request: https://github.com/apache/flink/pull/1891#issuecomment-210402429 Thanks for your contribution @andrewpalumbo :-) > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo >Assignee: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242747#comment-15242747 ] ASF GitHub Bot commented on FLINK-3762: --- Github user tillrohrmann commented on the pull request: https://github.com/apache/flink/pull/1891#issuecomment-210402401 Changes look good to me. +1 for merging. > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo >Assignee: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242161#comment-15242161 ] ASF GitHub Bot commented on FLINK-3762: --- Github user andrewpalumbo commented on the pull request: https://github.com/apache/flink/pull/1891#issuecomment-210208137 Flipped the `validateReferenceMappingDisabled()` test in `KryoGenericSerializerTest` to assert that Kryo referencing is enabled. ```java public void validateReferenceMappingEnabled() { KryoSerializer serializer = new KryoSerializer<>(String.class, new ExecutionConfig()); Kryo kryo = serializer.getKryo(); assertTrue(kryo.getReferences()); } ``` > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (FLINK-3762) Kryo StackOverflowError due to disabled Kryo Reference tracking
[ https://issues.apache.org/jira/browse/FLINK-3762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15241684#comment-15241684 ] ASF GitHub Bot commented on FLINK-3762: --- GitHub user andrewpalumbo opened a pull request: https://github.com/apache/flink/pull/1891 FLINK-3762: StackOverflowError due to disabled Kryo Reference tracking cription As discussed on the dev list, In `KryoSerializer.java` Kryo Reference tracking is disabled by default: ```java kryo.setReferences(false); ``` This can causes StackOverflowError Exceptions when serializing many objects that may contain recursive objects: ``` java.lang.StackOverflowError at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) ``` By enabling reference tracking, we can fix this problem. [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 You can merge this pull request into a Git repository by running: $ git pull https://github.com/andrewpalumbo/flink FLINK-3762 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/1891.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 #1891 commit 72f5bad9ebb1e657336e2c3e8ea8eb9ee283f693 Author: Andrew Palumbo Date: 2016-04-14T18:25:46Z FLINK-3762: enable kryo refrence tracking > Kryo StackOverflowError due to disabled Kryo Reference tracking > > > Key: FLINK-3762 > URL: https://issues.apache.org/jira/browse/FLINK-3762 > Project: Flink > Issue Type: Bug > Components: Core >Affects Versions: 1.0.1 >Reporter: Andrew Palumbo > Fix For: 1.0.2 > > > As discussed on the dev list, > In {{KryoSerializer.java}} > Kryo Reference tracking is disabled by default: > {code} > kryo.setReferences(false); > {code} > This can causes {{StackOverflowError}} Exceptions when serializing many > objects that may contain recursive objects: > {code} > java.lang.StackOverflowError > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:48) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:523) > at > com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61) > at > com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:495) > {code} > By enabling reference tracking, we can fix this problem. > [1]https://gist.github.com/andrewpalumbo/40c7422a5187a24cd03d7d81feb2a419 > -- This message was sent by Atlassian JIRA (v6.3.4#6332)