I have a large object that I can serialize and write to disk with no problem. The file is about 1.4GB on disk. When I try to deserialize I get the following error:
Exception in thread "main" com.esotericsoftware.kryo.KryoException: Buffer underflow.
Serialization trace:
referenceTable (com.google.cloud.genomics.denovo.ReferenceIndex)
at com.esotericsoftware.kryo.io.Input.require(Input.java:181)
at com.esotericsoftware.kryo.io.Input.readShort(Input.java:654)
at com.esotericsoftware.kryo.io.Input.readShorts(Input.java:853)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer.read(DefaultArraySerializers.java:150)
at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ShortArraySerializer.read(DefaultArraySerializers.java:133)
at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:730)
The class consists of three primitive arrays and a couple of hash maps. The primitive arrays each have 200 million elements. Is this expected (i.e., is there some size limit for Kryo) or should I file a bug? Any ideas?