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

Johannes commented on FLINK-1531:
---------------------------------

I just had a look again at the logging again

Right at the beginning I see

{code}
15:56:17.009 [main] INFO  org.apache.flink.api.java.typeutils.TypeExtractor  - 
Class class TestKryoIterationSerializer$DomainObject is not a valid POJO type
{code}

Which is clear, as this one should be managed by Kryos serializer.
Looks like if the process fails on this issue, it would be clearer.
It seems that the serializer is only invoked for fields. So if I wrap the 
object into a value holder or tuple class it works fine, without the default 
constructor or any of the setters or getters.

> Custom Kryo Serializer fails in itertation scenario
> ---------------------------------------------------
>
>                 Key: FLINK-1531
>                 URL: https://issues.apache.org/jira/browse/FLINK-1531
>             Project: Flink
>          Issue Type: Bug
>          Components: Iterations
>    Affects Versions: 0.9
>            Reporter: Johannes
>            Priority: Minor
>         Attachments: TestKryoIterationSerializer.java
>
>
> When using iterations with a custom serializer for a domain object, the 
> iteration will fail.
> {code:java}
> org.apache.flink.runtime.client.JobExecutionException: 
> com.esotericsoftware.kryo.KryoException: Buffer underflow
>       at 
> org.apache.flink.api.java.typeutils.runtime.NoFetchingInput.require(NoFetchingInput.java:76)
>       at com.esotericsoftware.kryo.io.Input.readVarInt(Input.java:355)
>       at 
> com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:109)
>       at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:641)
>       at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:752)
>       at 
> org.apache.flink.api.java.typeutils.runtime.KryoSerializer.deserialize(KryoSerializer.java:198)
>       at 
> org.apache.flink.api.java.typeutils.runtime.KryoSerializer.deserialize(KryoSerializer.java:203)
>       at 
> org.apache.flink.runtime.io.disk.InputViewIterator.next(InputViewIterator.java:43)
>       at 
> org.apache.flink.runtime.iterative.task.IterationHeadPactTask.streamOutFinalOutputBulk(IterationHeadPactTask.java:404)
>       at 
> org.apache.flink.runtime.iterative.task.IterationHeadPactTask.run(IterationHeadPactTask.java:377)
>       at 
> org.apache.flink.runtime.operators.RegularPactTask.invoke(RegularPactTask.java:360)
>       at 
> org.apache.flink.runtime.execution.RuntimeEnvironment.run(RuntimeEnvironment.java:204)
>       at java.lang.Thread.run(Thread.java:745)
> {code}



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

Reply via email to