incubator-s4-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthieu Morel <matth...@yahoo-inc.com>
Subject Re: Kryo serialization
Date Tue, 19 Mar 2013 09:25:27 GMT
You might have run in a case where the data structure you are trying to serialize is complex
and maybe cyclic. By default, Kryo can have some issues with such data structures. There are
ways to specify custom serializers for Kryo but in S4 we don't currently provide that option.

I see 2 possible ways out:
1/ use a simpler data structure in your events
2/ If you haven't tried version 0.6 I would suggest you try that, since we use kryo 2 in that
version.

Hope this helps,

Matthieu



On Mar 19, 2013, at 08:09 , medikare mds wrote:


I've not used loops at all. That's why I don't understand why I get a StackOverflowError,
but I've used an object of a class which implements Serializable inside the Event file. Do
you think that this clashes with the serialization provided by Kryo?

On Tue, Mar 19, 2013 at 11:36 AM, Dingyu Yang <yangdingyu@gmail.com<mailto:yangdingyu@gmail.com>>
wrote:
Hi,
I think your program is infinite loop or iterative too many times.
The JVM is out of memory。
Waiting for Matthieu Morel's answer~~


2013/3/19 medikare mds <medikaremds@gmail.com<mailto:medikaremds@gmail.com>>
Hi,
I'm getting an error when I send an event from one PE to the next. I can't seem to understand
what the problem is. If anyone has encountered an error like this earlier, please help me
out.


Exception in thread "stream1" java.lang.StackOverflowError
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:796)
    at com.esotericsoftware.kryo.Kryo.getRegisteredClass(Kryo.java:291)
    at com.esotericsoftware.kryo.serialize.ArraySerializer.writeObjectData(ArraySerializer.java:86)
    at com.esotericsoftware.kryo.Serializer.writeObject(Serializer.java:43)
    at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:182)
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)
    at com.esotericsoftware.kryo.serialize.CollectionSerializer.writeObjectData(CollectionSerializer.java:86)
    at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175)
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)
    at com.esotericsoftware.kryo.serialize.CollectionSerializer.writeObjectData(CollectionSerializer.java:86)
    at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175)
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)
    at com.esotericsoftware.kryo.serialize.CollectionSerializer.writeObjectData(CollectionSerializer.java:86)
    at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175)
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)
    at com.esotericsoftware.kryo.serialize.CollectionSerializer.writeObjectData(CollectionSerializer.java:86)
    at com.esotericsoftware.kryo.serialize.FieldSerializer.writeObjectData(FieldSerializer.java:175)
    at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:489)



Mime
View raw message