[ONOS-6636] Implement backwards/forwards compatible versioned Kryo serialization
Change-Id: If859ea61473401abd8b8f606aec0f1586a042a2a
diff --git a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
index 1eb1569..a38d29c 100644
--- a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
+++ b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
@@ -25,6 +25,7 @@
import com.esotericsoftware.kryo.pool.KryoCallback;
import com.esotericsoftware.kryo.pool.KryoFactory;
import com.esotericsoftware.kryo.pool.KryoPool;
+import com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
import org.apache.commons.lang3.tuple.Pair;
@@ -421,6 +422,7 @@
log.trace("Creating Kryo instance for {}", this);
Kryo kryo = new Kryo();
kryo.setRegistrationRequired(registrationRequired);
+ kryo.setDefaultSerializer(CompatibleFieldSerializer::new);
// TODO rethink whether we want to use StdInstantiatorStrategy
kryo.setInstantiatorStrategy(