diff --git a/features/features.xml b/features/features.xml
index a112db7f21..fd3caba2a8 100644
--- a/features/features.xml
+++ b/features/features.xml
@@ -40,11 +40,11 @@
mvn:io.dropwizard.metrics/metrics-json/3.1.2
mvn:com.eclipsesource.minimal-json/minimal-json/0.9.1
- mvn:com.esotericsoftware/kryo/3.0.0
+ mvn:com.esotericsoftware/kryo/3.0.3
mvn:com.esotericsoftware/reflectasm/1.11.0
mvn:org.ow2.asm/asm/4.2
mvn:com.esotericsoftware/minlog/1.3.0
- mvn:org.objenesis/objenesis/2.1
+ mvn:org.objenesis/objenesis/2.2
mvn:com.fasterxml.jackson.core/jackson-core/2.7.0
mvn:com.fasterxml.jackson.core/jackson-annotations/2.7.0
diff --git a/pom.xml b/pom.xml
index d0ca5449f9..1fdaa8bacf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -308,7 +308,7 @@
com.esotericsoftware
kryo
- 3.0.0
+ 3.0.3
com.esotericsoftware
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 f5d2f9b1b6..dc147d2b83 100644
--- a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
+++ b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
@@ -15,17 +15,6 @@
*/
package org.onlab.util;
-import static org.slf4j.LoggerFactory.getLogger;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.lang3.tuple.Pair;
-import org.slf4j.Logger;
-
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.ByteBufferInput;
@@ -36,6 +25,17 @@ import com.esotericsoftware.kryo.pool.KryoFactory;
import com.esotericsoftware.kryo.pool.KryoPool;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
+import org.apache.commons.lang3.tuple.Pair;
+import org.objenesis.strategy.StdInstantiatorStrategy;
+import org.slf4j.Logger;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.slf4j.LoggerFactory.getLogger;
/**
* Pool of Kryo instances, with classes pre-registered.
@@ -381,6 +381,9 @@ public final class KryoNamespace implements KryoFactory, KryoPool {
public Kryo create() {
Kryo kryo = new Kryo();
kryo.setRegistrationRequired(registrationRequired);
+ // TODO rethink whether we want to use StdInstantiatorStrategy
+ kryo.setInstantiatorStrategy(
+ new Kryo.DefaultInstantiatorStrategy(new StdInstantiatorStrategy()));
for (RegistrationBlock block : registeredBlocks) {
int id = block.begin();
if (id == FLOATING_ID) {