diff --git a/build.sbt b/build.sbt
index 0ea0fba3..2030727c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -3,7 +3,7 @@ import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings
val akkaVersion = "2.6.13"
val algebirdVersion = "0.13.7"
val bijectionVersion = "0.9.7"
-val kryoVersion = "4.0.2"
+val kryoVersion = "5.0.3"
val scroogeVersion = "21.2.0"
val asmVersion = "4.15"
@@ -40,7 +40,7 @@ val sharedSettings = mimaDefaultSettings ++ Seq(
"org.scalacheck" %% "scalacheck" % "1.15.2" % "test",
"org.scalatest" %% "scalatest" % "3.2.6" % "test",
"org.scalatestplus" %% "scalatestplus-scalacheck" % "3.1.0.0-RC2" % "test",
- "com.esotericsoftware" % "kryo-shaded" % kryoVersion
+ "com.esotericsoftware.kryo" % "kryo5" % kryoVersion
),
parallelExecution in Test := true,
pomExtra := https://github.com/twitter/chill
@@ -92,7 +92,6 @@ lazy val chillAll = Project(
chill,
chillBijection,
chillScrooge,
- chillStorm,
chillJava,
chillHadoop,
chillThrift,
@@ -122,7 +121,7 @@ lazy val noPublishSettings = Seq(
* with the current.
*/
val unreleasedModules = Set[String]("akka")
-val javaOnly = Set[String]("storm", "java", "hadoop", "thrift", "protobuf")
+val javaOnly = Set[String]("java", "hadoop", "thrift", "protobuf")
val binaryCompatVersion = "0.9.2"
def youngestForwardCompatible(subProj: String) =
@@ -139,7 +138,6 @@ val ignoredABIProblems = {
import com.typesafe.tools.mima.core._
import com.typesafe.tools.mima.core.ProblemFilters._
Seq(
- exclude[MissingTypesProblem]("com.twitter.chill.storm.BlizzardKryoFactory"),
exclude[MissingTypesProblem]("com.twitter.chill.InnerClosureFinder"),
exclude[IncompatibleResultTypeProblem]("com.twitter.chill.InnerClosureFinder.visitMethod"),
exclude[IncompatibleResultTypeProblem]("com.twitter.chill.FieldAccessFinder.visitMethod"),
@@ -214,15 +212,6 @@ lazy val chillJava = module("java").settings(
autoScalaLibrary := false
)
-// This can only have java deps!
-lazy val chillStorm = module("storm")
- .settings(
- crossPaths := false,
- autoScalaLibrary := false,
- libraryDependencies += "org.apache.storm" % "storm-core" % "1.0.6" % "provided"
- )
- .dependsOn(chillJava)
-
// This can only have java deps!
lazy val chillHadoop = module("hadoop")
.settings(
diff --git a/chill-akka/src/main/scala/com/twitter/chill/akka/ActorRefSerializer.scala b/chill-akka/src/main/scala/com/twitter/chill/akka/ActorRefSerializer.scala
index a9f87503..962a65e5 100644
--- a/chill-akka/src/main/scala/com/twitter/chill/akka/ActorRefSerializer.scala
+++ b/chill-akka/src/main/scala/com/twitter/chill/akka/ActorRefSerializer.scala
@@ -19,8 +19,8 @@ package com.twitter.chill.akka
*/
import akka.actor.{ActorPath, ActorRef, ExtendedActorSystem}
import akka.serialization.Serialization
-import com.esotericsoftware.kryo.{Kryo, Serializer}
-import com.esotericsoftware.kryo.io.{Input, Output}
+import com.esotericsoftware.kryo.kryo5.{Kryo, Serializer}
+import com.esotericsoftware.kryo.kryo5.io.{Input, Output}
import com.twitter.chill.{toRich, IKryoRegistrar}
@@ -38,7 +38,7 @@ class ActorRefSerializer(system: ExtendedActorSystem) extends Serializer[ActorRe
kryo.forSubclass[ActorRef](this)
}
- override def read(kryo: Kryo, input: Input, typ: Class[ActorRef]): ActorRef = {
+ override def read(kryo: Kryo, input: Input, typ: Class[_ <: ActorRef]): ActorRef = {
val path = ActorPath.fromString(input.readString())
system.provider.resolveActorRef(path)
}
diff --git a/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdRegistrar.scala b/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdRegistrar.scala
index c2eb146a..2c068f47 100644
--- a/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdRegistrar.scala
+++ b/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdRegistrar.scala
@@ -15,8 +15,8 @@ limitations under the License.
*/
package com.twitter.chill.algebird
-import com.esotericsoftware.kryo.Kryo
-import com.esotericsoftware.kryo.serializers.FieldSerializer
+import com.esotericsoftware.kryo.kryo5.Kryo
+import com.esotericsoftware.kryo.kryo5.serializers.FieldSerializer
import com.twitter.chill.IKryoRegistrar
diff --git a/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdSerializers.scala b/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdSerializers.scala
index 59f13e93..030633b1 100644
--- a/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdSerializers.scala
+++ b/chill-algebird/src/main/scala/com/twitter/chill/algebird/AlgebirdSerializers.scala
@@ -15,9 +15,9 @@ limitations under the License.
*/
package com.twitter.chill.algebird
-import com.esotericsoftware.kryo.Kryo
-import com.esotericsoftware.kryo.{Serializer => KSerializer}
-import com.esotericsoftware.kryo.io.{Input, Output}
+import com.esotericsoftware.kryo.kryo5.Kryo
+import com.esotericsoftware.kryo.kryo5.{Serializer => KSerializer}
+import com.esotericsoftware.kryo.kryo5.io.{Input, Output}
import com.twitter.algebird.{AveragedValue, DecayedValue, HLL, HyperLogLog, HyperLogLogMonoid, Moments, QTree}
@@ -29,7 +29,7 @@ class AveragedValueSerializer extends KSerializer[AveragedValue] {
out.writeLong(s.count, true)
out.writeDouble(s.value)
}
- def read(kser: Kryo, in: Input, cls: Class[AveragedValue]): AveragedValue =
+ def read(kser: Kryo, in: Input, cls: Class[_ <: AveragedValue]): AveragedValue =
AveragedValue(in.readLong(true), in.readDouble)
}
@@ -42,7 +42,7 @@ class MomentsSerializer extends KSerializer[Moments] {
out.writeDouble(s.m3)
out.writeDouble(s.m4)
}
- def read(kser: Kryo, in: Input, cls: Class[Moments]): Moments =
+ def read(kser: Kryo, in: Input, cls: Class[_ <: Moments]): Moments =
Moments(in.readLong(true), in.readDouble, in.readDouble, in.readDouble, in.readDouble)
}
@@ -52,7 +52,7 @@ class DecayedValueSerializer extends KSerializer[DecayedValue] {
out.writeDouble(s.value)
out.writeDouble(s.scaledTime)
}
- def read(kser: Kryo, in: Input, cls: Class[DecayedValue]): DecayedValue =
+ def read(kser: Kryo, in: Input, cls: Class[_ <: DecayedValue]): DecayedValue =
DecayedValue(in.readDouble, in.readDouble)
}
@@ -63,7 +63,7 @@ class HLLSerializer extends KSerializer[HLL] {
out.writeInt(bytes.size, true)
out.writeBytes(bytes)
}
- def read(kser: Kryo, in: Input, cls: Class[HLL]): HLL =
+ def read(kser: Kryo, in: Input, cls: Class[_ <: HLL]): HLL =
HyperLogLog.fromBytes(in.readBytes(in.readInt(true)))
}
@@ -72,7 +72,7 @@ class HLLMonoidSerializer extends KSerializer[HyperLogLogMonoid] {
val hllMonoids: MMap[Int, HyperLogLogMonoid] = MMap[Int, HyperLogLogMonoid]()
def write(kser: Kryo, out: Output, mon: HyperLogLogMonoid): Unit =
out.writeInt(mon.bits, true)
- def read(kser: Kryo, in: Input, cls: Class[HyperLogLogMonoid]): HyperLogLogMonoid = {
+ def read(kser: Kryo, in: Input, cls: Class[_ <: HyperLogLogMonoid]): HyperLogLogMonoid = {
val bits = in.readInt(true)
hllMonoids.getOrElseUpdate(bits, new HyperLogLogMonoid(bits))
}
@@ -80,7 +80,7 @@ class HLLMonoidSerializer extends KSerializer[HyperLogLogMonoid] {
class QTreeSerializer extends KSerializer[QTree[Any]] {
setImmutable(true)
- override def read(kryo: Kryo, input: Input, cls: Class[QTree[Any]]): QTree[Any] = {
+ override def read(kryo: Kryo, input: Input, cls: Class[_ <: QTree[Any]]): QTree[Any] = {
val (v1, v2, v3) = (input.readLong(), input.readInt(), input.readLong())
val v4 = kryo.readClassAndObject(input)
val v5 = kryo.readClassAndObject(input).asInstanceOf[Option[QTree[Any]]]
diff --git a/chill-avro/src/test/java/com/twitter/chill/avro/AvroSerializerJavaTest.java b/chill-avro/src/test/java/com/twitter/chill/avro/AvroSerializerJavaTest.java
index 921c44cc..62a258e3 100644
--- a/chill-avro/src/test/java/com/twitter/chill/avro/AvroSerializerJavaTest.java
+++ b/chill-avro/src/test/java/com/twitter/chill/avro/AvroSerializerJavaTest.java
@@ -1,8 +1,9 @@
package com.twitter.chill.avro;
import avro.FiscalRecord;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.objenesis.strategy.StdInstantiatorStrategy;
import com.twitter.chill.KryoInstantiator;
import com.twitter.chill.KryoPool;
import org.apache.avro.Schema;
@@ -11,7 +12,6 @@
import org.apache.avro.generic.GenericRecordBuilder;
import org.junit.Before;
import org.junit.Test;
-import org.objenesis.strategy.StdInstantiatorStrategy;
import scala.reflect.ClassTag;
import static org.junit.Assert.assertEquals;
diff --git a/chill-bijection/src/main/scala/com/twitter/chill/BijectionEnrichedKryo.scala b/chill-bijection/src/main/scala/com/twitter/chill/BijectionEnrichedKryo.scala
index aafd195d..010deecf 100644
--- a/chill-bijection/src/main/scala/com/twitter/chill/BijectionEnrichedKryo.scala
+++ b/chill-bijection/src/main/scala/com/twitter/chill/BijectionEnrichedKryo.scala
@@ -32,7 +32,7 @@ object BijectionEnrichedKryo {
)(implicit bij: ImplicitBijection[A, B], cmf: ClassTag[B]): KSerializer[A] =
new KSerializer[A] {
def write(k: Kryo, out: Output, obj: A): Unit = kser.write(k, out, bij(obj))
- def read(k: Kryo, in: Input, cls: Class[A]): A =
+ def read(k: Kryo, in: Input, cls: Class[_ <: A]): A =
bij.invert(kser.read(k, in, cmf.runtimeClass.asInstanceOf[Class[B]]))
}
diff --git a/chill-bijection/src/main/scala/com/twitter/chill/InjectiveSerializer.scala b/chill-bijection/src/main/scala/com/twitter/chill/InjectiveSerializer.scala
index e9ee6e20..f1379330 100644
--- a/chill-bijection/src/main/scala/com/twitter/chill/InjectiveSerializer.scala
+++ b/chill-bijection/src/main/scala/com/twitter/chill/InjectiveSerializer.scala
@@ -27,7 +27,7 @@ class InjectiveSerializer[T] private (injection: Injection[T, Array[Byte]])
out.writeBytes(bytes)
}
- def read(kser: Kryo, in: Input, cls: Class[T]): T = {
+ def read(kser: Kryo, in: Input, cls: Class[_ <: T]): T = {
val bytes = new Array[Byte](in.readInt(true))
in.readBytes(bytes)
injection.invert(bytes).get
diff --git a/chill-hadoop/src/main/java/com/twitter/chill/hadoop/KryoSerialization.java b/chill-hadoop/src/main/java/com/twitter/chill/hadoop/KryoSerialization.java
index 29d1dc5a..886790da 100644
--- a/chill-hadoop/src/main/java/com/twitter/chill/hadoop/KryoSerialization.java
+++ b/chill-hadoop/src/main/java/com/twitter/chill/hadoop/KryoSerialization.java
@@ -16,15 +16,15 @@
package com.twitter.chill.hadoop;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.io.Output;
+import com.esotericsoftware.kryo.kryo5.objenesis.strategy.StdInstantiatorStrategy;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.io.serializer.Deserializer;
import org.apache.hadoop.io.serializer.Serialization;
import org.apache.hadoop.io.serializer.Serializer;
-import org.objenesis.strategy.StdInstantiatorStrategy;
import com.twitter.chill.KryoPool;
import com.twitter.chill.KryoInstantiator;
diff --git a/chill-hadoop/src/test/scala/com/twitter/chill/hadoop/HadoopTests.scala b/chill-hadoop/src/test/scala/com/twitter/chill/hadoop/HadoopTests.scala
index 7c291dc7..4b11cbb7 100644
--- a/chill-hadoop/src/test/scala/com/twitter/chill/hadoop/HadoopTests.scala
+++ b/chill-hadoop/src/test/scala/com/twitter/chill/hadoop/HadoopTests.scala
@@ -16,9 +16,8 @@ limitations under the License.
package com.twitter.chill.hadoop
-import com.esotericsoftware.kryo.Kryo
-
-import org.objenesis.strategy.StdInstantiatorStrategy
+import com.esotericsoftware.kryo.kryo5.Kryo
+import com.esotericsoftware.kryo.kryo5.objenesis.strategy.StdInstantiatorStrategy;
import java.io.{ByteArrayOutputStream => BAOut, ByteArrayInputStream => BAIn}
import org.apache.hadoop.conf.Configuration
diff --git a/chill-java/src/main/java/com/twitter/chill/ClassRegistrar.java b/chill-java/src/main/java/com/twitter/chill/ClassRegistrar.java
index 9a1aac9d..4130d9a7 100644
--- a/chill-java/src/main/java/com/twitter/chill/ClassRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/ClassRegistrar.java
@@ -16,7 +16,7 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.kryo5.Kryo;
/** Register this class to be used with the default serializer for this class */
public class ClassRegistrar implements IKryoRegistrar {
diff --git a/chill-java/src/main/java/com/twitter/chill/IKryoRegistrar.java b/chill-java/src/main/java/com/twitter/chill/IKryoRegistrar.java
index 25a95076..0d4bf35d 100644
--- a/chill-java/src/main/java/com/twitter/chill/IKryoRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/IKryoRegistrar.java
@@ -16,7 +16,7 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.kryo5.Kryo;
import java.io.Serializable;
/**
diff --git a/chill-java/src/main/java/com/twitter/chill/KryoInstantiator.java b/chill-java/src/main/java/com/twitter/chill/KryoInstantiator.java
index 5af3aa21..1e2da834 100644
--- a/chill-java/src/main/java/com/twitter/chill/KryoInstantiator.java
+++ b/chill-java/src/main/java/com/twitter/chill/KryoInstantiator.java
@@ -16,8 +16,8 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import org.objenesis.strategy.InstantiatorStrategy;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.objenesis.strategy.InstantiatorStrategy;
import java.io.Serializable;
/** Class to create a new Kryo instance.
diff --git a/chill-java/src/main/java/com/twitter/chill/KryoPool.java b/chill-java/src/main/java/com/twitter/chill/KryoPool.java
index ce15cb66..eb79a889 100644
--- a/chill-java/src/main/java/com/twitter/chill/KryoPool.java
+++ b/chill-java/src/main/java/com/twitter/chill/KryoPool.java
@@ -16,9 +16,9 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
import java.io.OutputStream;
import java.io.ByteArrayOutputStream;
diff --git a/chill-java/src/main/java/com/twitter/chill/ReflectingDefaultRegistrar.java b/chill-java/src/main/java/com/twitter/chill/ReflectingDefaultRegistrar.java
index 7ace7507..ea149925 100644
--- a/chill-java/src/main/java/com/twitter/chill/ReflectingDefaultRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/ReflectingDefaultRegistrar.java
@@ -16,8 +16,8 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
/** Set the default serializers for subclasses of the given class
*/
diff --git a/chill-java/src/main/java/com/twitter/chill/ReflectingRegistrar.java b/chill-java/src/main/java/com/twitter/chill/ReflectingRegistrar.java
index e55fa04b..fa716fa3 100644
--- a/chill-java/src/main/java/com/twitter/chill/ReflectingRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/ReflectingRegistrar.java
@@ -16,9 +16,9 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
-import com.esotericsoftware.kryo.util.Util;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.util.Util;
/** Use reflection to instantiate a serializer.
* Used when serializer classes are written to config files
diff --git a/chill-java/src/main/java/com/twitter/chill/SerDeState.java b/chill-java/src/main/java/com/twitter/chill/SerDeState.java
index 24cd403c..0796641e 100644
--- a/chill-java/src/main/java/com/twitter/chill/SerDeState.java
+++ b/chill-java/src/main/java/com/twitter/chill/SerDeState.java
@@ -16,9 +16,9 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
import java.io.OutputStream;
import java.io.InputStream;
@@ -43,7 +43,7 @@ protected SerDeState(Kryo k, Input in, Output out) {
/** Call this when to reset the state to the initial state */
public void clear() {
input.setBuffer(EMPTY_BUFFER);
- output.clear();
+ output.reset();
}
public void setInput(byte[] in) { input.setBuffer(in); }
diff --git a/chill-java/src/main/java/com/twitter/chill/SingleDefaultRegistrar.java b/chill-java/src/main/java/com/twitter/chill/SingleDefaultRegistrar.java
index b11b4573..4fd738db 100644
--- a/chill-java/src/main/java/com/twitter/chill/SingleDefaultRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/SingleDefaultRegistrar.java
@@ -16,8 +16,8 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
/** Set the default serializers for subclasses of the given class
*/
diff --git a/chill-java/src/main/java/com/twitter/chill/SingleRegistrar.java b/chill-java/src/main/java/com/twitter/chill/SingleRegistrar.java
index f449339b..680dc662 100644
--- a/chill-java/src/main/java/com/twitter/chill/SingleRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/SingleRegistrar.java
@@ -16,8 +16,8 @@
package com.twitter.chill;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
public class SingleRegistrar implements IKryoRegistrar {
final Class klass;
diff --git a/chill-java/src/main/java/com/twitter/chill/config/ConfiguredInstantiator.java b/chill-java/src/main/java/com/twitter/chill/config/ConfiguredInstantiator.java
index d526e706..866615fb 100644
--- a/chill-java/src/main/java/com/twitter/chill/config/ConfiguredInstantiator.java
+++ b/chill-java/src/main/java/com/twitter/chill/config/ConfiguredInstantiator.java
@@ -20,9 +20,9 @@
import java.lang.reflect.InvocationTargetException;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
/**
* This is the standard Config based KryoInstantiator.
diff --git a/chill-java/src/main/java/com/twitter/chill/config/ReflectingInstantiator.java b/chill-java/src/main/java/com/twitter/chill/config/ReflectingInstantiator.java
index 7ba42b63..b1baf6c2 100644
--- a/chill-java/src/main/java/com/twitter/chill/config/ReflectingInstantiator.java
+++ b/chill-java/src/main/java/com/twitter/chill/config/ReflectingInstantiator.java
@@ -22,10 +22,10 @@
import com.twitter.chill.ReflectingRegistrar;
import com.twitter.chill.ReflectingDefaultRegistrar;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
-import org.objenesis.strategy.InstantiatorStrategy;
-import org.objenesis.strategy.StdInstantiatorStrategy;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.objenesis.strategy.InstantiatorStrategy;
+import com.esotericsoftware.kryo.kryo5.objenesis.strategy.StdInstantiatorStrategy;
import java.util.ArrayList;
import java.util.List;
import java.lang.reflect.InvocationTargetException;
diff --git a/chill-java/src/main/java/com/twitter/chill/java/ArraysAsListSerializer.java b/chill-java/src/main/java/com/twitter/chill/java/ArraysAsListSerializer.java
index f4811d95..68818bec 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/ArraysAsListSerializer.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/ArraysAsListSerializer.java
@@ -26,10 +26,10 @@
import java.util.HashMap;
import java.util.Map;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
/**
* A kryo {@link Serializer} for lists created via {@link Arrays#asList(Object...)}.
@@ -71,7 +71,7 @@ public ArraysAsListSerializer() {
}
@Override
- public List> read(final Kryo kryo, final Input input, final Class> type) {
+ public List> read(final Kryo kryo, final Input input, final Class extends List>> type) {
final int length = input.readInt(true);
Class> componentType = kryo.readClass(input).getType();
try {
diff --git a/chill-java/src/main/java/com/twitter/chill/java/BitSetSerializer.java b/chill-java/src/main/java/com/twitter/chill/java/BitSetSerializer.java
index 597699c6..b7bb618a 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/BitSetSerializer.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/BitSetSerializer.java
@@ -16,11 +16,11 @@
package com.twitter.chill.java;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.KryoException;
-import com.esotericsoftware.kryo.Serializer;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.KryoException;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
import com.twitter.chill.IKryoRegistrar;
import com.twitter.chill.SingleRegistrar;
@@ -81,7 +81,7 @@ public void write(Kryo kryo, Output output, BitSet bitSet) {
}
@Override
- public BitSet read(Kryo kryo, Input input, Class bitSetClass) {
+ public BitSet read(Kryo kryo, Input input, Class extends BitSet> bitSetClass) {
int len = input.readInt(true);
long[] target = new long[len];
diff --git a/chill-java/src/main/java/com/twitter/chill/java/InetSocketAddressSerializer.java b/chill-java/src/main/java/com/twitter/chill/java/InetSocketAddressSerializer.java
index c1515853..757377ee 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/InetSocketAddressSerializer.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/InetSocketAddressSerializer.java
@@ -16,10 +16,10 @@
package com.twitter.chill.java;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
import com.twitter.chill.IKryoRegistrar;
import com.twitter.chill.SingleRegistrar;
@@ -39,7 +39,7 @@ public void write(Kryo kryo, Output output, InetSocketAddress obj) {
}
@Override
- public InetSocketAddress read(Kryo kryo, Input input, Class klass) {
+ public InetSocketAddress read(Kryo kryo, Input input, Class extends InetSocketAddress> klass) {
String host = input.readString();
int port = input.readInt(true);
return new InetSocketAddress(host, port);
diff --git a/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrar.java b/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrar.java
index e5ad1ea7..9f42c1bc 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrar.java
@@ -18,8 +18,8 @@
import com.twitter.chill.IKryoRegistrar;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.DefaultSerializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.DefaultSerializer;
import java.util.Arrays;
diff --git a/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrarSerializer.java b/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrarSerializer.java
index de61fe8b..3a6e2964 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrarSerializer.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/IterableRegistrarSerializer.java
@@ -17,10 +17,10 @@
package com.twitter.chill.java;
import com.twitter.chill.IKryoRegistrar;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
-import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
+import com.esotericsoftware.kryo.kryo5.Serializer;
import java.util.ArrayList;
@@ -32,7 +32,7 @@ public void write(Kryo kryo, Output output, IterableRegistrar obj) {
}
kryo.writeClassAndObject(output, null);
}
- public IterableRegistrar read(Kryo kryo, Input input, Class type) {
+ public IterableRegistrar read(Kryo kryo, Input input, Class extends IterableRegistrar> type) {
ArrayList krs = new ArrayList();
IKryoRegistrar thisKr = (IKryoRegistrar)kryo.readClassAndObject(input);
while(thisKr != null) {
diff --git a/chill-java/src/main/java/com/twitter/chill/java/Java8ClosureRegistrar.java b/chill-java/src/main/java/com/twitter/chill/java/Java8ClosureRegistrar.java
index dea99914..d8a87b89 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/Java8ClosureRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/Java8ClosureRegistrar.java
@@ -1,7 +1,7 @@
package com.twitter.chill.java;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.serializers.ClosureSerializer;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.serializers.ClosureSerializer;
import com.twitter.chill.IKryoRegistrar;
/**
diff --git a/chill-java/src/main/java/com/twitter/chill/java/LocaleSerializer.java b/chill-java/src/main/java/com/twitter/chill/java/LocaleSerializer.java
index aa769aa7..cd6fbef0 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/LocaleSerializer.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/LocaleSerializer.java
@@ -16,11 +16,11 @@
package com.twitter.chill.java;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.serializers.JavaSerializer;
-import com.esotericsoftware.kryo.Serializer;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.serializers.JavaSerializer;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
import com.twitter.chill.IKryoRegistrar;
import com.twitter.chill.SingleRegistrar;
diff --git a/chill-java/src/main/java/com/twitter/chill/java/PackageRegistrar.java b/chill-java/src/main/java/com/twitter/chill/java/PackageRegistrar.java
index 21d1ebf2..fce8e307 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/PackageRegistrar.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/PackageRegistrar.java
@@ -18,7 +18,7 @@
import com.twitter.chill.IKryoRegistrar;
-import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.kryo5.Kryo;
import java.util.ArrayList;
diff --git a/chill-java/src/main/java/com/twitter/chill/java/PriorityQueueSerializer.java b/chill-java/src/main/java/com/twitter/chill/java/PriorityQueueSerializer.java
index c9dd95fd..1d3de4dd 100644
--- a/chill-java/src/main/java/com/twitter/chill/java/PriorityQueueSerializer.java
+++ b/chill-java/src/main/java/com/twitter/chill/java/PriorityQueueSerializer.java
@@ -19,10 +19,10 @@
import com.twitter.chill.IKryoRegistrar;
import com.twitter.chill.SingleRegistrar;
-import com.esotericsoftware.kryo.Kryo;
-import com.esotericsoftware.kryo.Serializer;
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
+import com.esotericsoftware.kryo.kryo5.Kryo;
+import com.esotericsoftware.kryo.kryo5.Serializer;
+import com.esotericsoftware.kryo.kryo5.io.Input;
+import com.esotericsoftware.kryo.kryo5.io.Output;
import java.lang.reflect.Field;
import java.util.PriorityQueue;
@@ -62,7 +62,7 @@ public void write(Kryo k, Output o, PriorityQueue> q) {
o.flush();
}
}
- public PriorityQueue> read(Kryo k, Input i, Class> c) {
+ public PriorityQueue> read(Kryo k, Input i, Class extends PriorityQueue>> c) {
Comparator