- @SuppressWarnings("checkstyle:FallThrough")
- static ShardDataTreeSnapshot versionedDeserialize(final ObjectInput in) throws IOException {
- final PayloadVersion version = PayloadVersion.readFrom(in);
- switch (version) {
- case BORON:
- // Boron snapshots use Java Serialization
- try {
- return (ShardDataTreeSnapshot) in.readObject();
- } catch (ClassNotFoundException e) {
- LOG.error("Failed to serialize data tree snapshot", e);
- throw new IOException("Snapshot failed to deserialize", e);
- }
- case TEST_FUTURE_VERSION:
- case TEST_PAST_VERSION:
- // These versions are never returned and this code is effectively dead
- break;
- default:
- throw new IOException("Invalid payload version in snapshot");
+ // Boron and Sodium snapshots use Java Serialization, but differ in stream format
+ private static @NonNull ShardDataTreeSnapshot readSnapshot(final ObjectInput in) throws IOException {
+ try {
+ return (ShardDataTreeSnapshot) in.readObject();
+ } catch (ClassNotFoundException e) {
+ LOG.error("Failed to serialize data tree snapshot", e);
+ throw new IOException("Snapshot failed to deserialize", e);