Hello experts.....I'm using Nested readers to implement serialization of Evolvable objects. My PoC is using a SimplePofContext to serialize and deserialize an object hierarchy to a file. Whenever I attempt to evolve from v2 back to v1, I get a "mark/reset not supported" IOException using readRemainder() when reading the future data.
Binary futureData = reader.readRemainder(); <-----exception here
if (isEvolvable) {
evolvable.setFutureData(typeId,futureData);
}
java.io.IOException: mark/reset not supported
at java.io.InputStream.reset(InputStream.java:347)
at java.io.FilterInputStream.reset(FilterInputStream.java:226)
at com.tangosol.io.WrapperBufferInput.reset(WrapperBufferInput.java:276)
at com.tangosol.io.pof.PofBufferReader$UserTypeReader.readRemainder(PofBufferReader.java:3745)
at EvolutionPiro.EvolvableSerializerHelper.deserialize(EvolvableSerializerHelper.java:86)
at EvolutionPiro.EvolutionSerializer_v1$FruitFlySerializer.deserialize(EvolutionSerializer_v1.java:41)
at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3316)
at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2604)
at com.tangosol.io.pof.SimplePofContext.deserialize(SimplePofContext.java:83)
at EvolutionPiro.EvolutionTest_v1_in.main(EvolutionTest_v1_in.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Any ideas??
Thanks,
-Louis