Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Export data shouldn't fail if an exception is encountered while exporting a single entry
Currently RegionSnapshotService save fails while deserializing the value before writing it to the snapshot file.
org.apache.geode.SerializationException: An IOException was thrown while deserializing at org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1915) at org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1904) at org.apache.geode.internal.cache.VMCachedDeserializable.getDeserializedValue(VMCachedDeserializable.java:134) at org.apache.geode.internal.cache.EntrySnapshot.getRawValue(EntrySnapshot.java:113) at org.apache.geode.internal.cache.EntrySnapshot.getRawValue(EntrySnapshot.java:101) at org.apache.geode.internal.cache.EntrySnapshot.getValue(EntrySnapshot.java:130) at org.apache.geode.internal.cache.snapshot.SnapshotPacket$SnapshotRecord.<init>(SnapshotPacket.java:79) at org.apache.geode.internal.cache.snapshot.LocalExporter.export(LocalExporter.java:46) at org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.exportOnMember(RegionSnapshotServiceImpl.java:322) at org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.save(RegionSnapshotServiceImpl.java:150) at org.apache.geode.internal.cache.snapshot.RegionSnapshotServiceImpl.save(RegionSnapshotServiceImpl.java:133) Caused by: java.io.IOException: Unknown header byte: -3 at org.apache.geode.internal.InternalDataSerializer.basicReadObject(InternalDataSerializer.java:2876) at org.apache.geode.DataSerializer.readObject(DataSerializer.java:2961) at org.apache.geode.internal.util.BlobHelper.deserializeBlob(BlobHelper.java:99) at org.apache.geode.internal.cache.EntryEventImpl.deserialize(EntryEventImpl.java:1911)
This causes the export to abort.
Instead, it should log a warning in this case and skip the entry.