diff --git a/core/src/main/scala/spark/KryoSerializer.scala b/core/src/main/scala/spark/KryoSerializer.scala index bbd5f807a30dafae7aa1351e0567793813d5dafb..9ec06a6e21e2d9f751e53c2ebf947f8725f5c955 100644 --- a/core/src/main/scala/spark/KryoSerializer.scala +++ b/core/src/main/scala/spark/KryoSerializer.scala @@ -180,6 +180,16 @@ class KryoSerializer extends Serializer with Logging { kryo.register(mutable.HashMap().getClass, new ScalaMapSerializer(mutable.HashMap() ++ _)) // TODO: add support for immutable maps too; this is more annoying because there are many // subclasses of immutable.Map for small maps (with <= 4 entries) + val map1 = Map[Any, Any](1 -> 1) + val map2 = Map[Any, Any](1 -> 1, 2 -> 2) + val map3 = Map[Any, Any](1 -> 1, 2 -> 2, 3 -> 3) + val map4 = Map[Any, Any](1 -> 1, 2 -> 2, 3 -> 3, 4 -> 4) + val map5 = Map[Any, Any](1 -> 1, 2 -> 2, 3 -> 3, 4 -> 4, 5 -> 5) + kryo.register(map1.getClass, new ScalaMapSerializer(mutable.HashMap() ++ _ toMap)) + kryo.register(map2.getClass, new ScalaMapSerializer(mutable.HashMap() ++ _ toMap)) + kryo.register(map3.getClass, new ScalaMapSerializer(mutable.HashMap() ++ _ toMap)) + kryo.register(map4.getClass, new ScalaMapSerializer(mutable.HashMap() ++ _ toMap)) + kryo.register(map5.getClass, new ScalaMapSerializer(mutable.HashMap() ++ _ toMap)) // Allow the user to register their own classes by setting spark.kryo.registrator val regCls = System.getProperty("spark.kryo.registrator")