aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorDenis Bolshakov <denis.bolshakov@onefactor.com>2017-04-03 10:16:07 +0100
committerSean Owen <sowen@cloudera.com>2017-04-03 10:16:07 +0100
commitfb5869f2cf94217b3e254e2d0820507dc83a25cc (patch)
tree35805c10f0ed17a9cc86b3139ed2d4f5bb58b103 /core/src
parent364b0db75308ddd346b4ab1e032680e8eb4c1753 (diff)
downloadspark-fb5869f2cf94217b3e254e2d0820507dc83a25cc.tar.gz
spark-fb5869f2cf94217b3e254e2d0820507dc83a25cc.tar.bz2
spark-fb5869f2cf94217b3e254e2d0820507dc83a25cc.zip
[SPARK-9002][CORE] KryoSerializer initialization does not include 'Array[Int]'
[SPARK-9002][CORE] KryoSerializer initialization does not include 'Array[Int]' ## What changes were proposed in this pull request? Array[Int] has been registered in KryoSerializer. The following file has been changed core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala ## How was this patch tested? First, the issue was reproduced by new unit test. Then, the issue was fixed to pass the failed test. Author: Denis Bolshakov <denis.bolshakov@onefactor.com> Closes #17482 from dbolshak/SPARK-9002.
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala7
-rw-r--r--core/src/test/scala/org/apache/spark/serializer/KryoSerializerSuite.scala10
2 files changed, 17 insertions, 0 deletions
diff --git a/core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala b/core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala
index 03815631a6..6fc66e2374 100644
--- a/core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala
+++ b/core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala
@@ -384,9 +384,16 @@ private[serializer] object KryoSerializer {
classOf[HighlyCompressedMapStatus],
classOf[CompactBuffer[_]],
classOf[BlockManagerId],
+ classOf[Array[Boolean]],
classOf[Array[Byte]],
classOf[Array[Short]],
+ classOf[Array[Int]],
classOf[Array[Long]],
+ classOf[Array[Float]],
+ classOf[Array[Double]],
+ classOf[Array[Char]],
+ classOf[Array[String]],
+ classOf[Array[Array[String]]],
classOf[BoundedPriorityQueue[_]],
classOf[SparkConf]
)
diff --git a/core/src/test/scala/org/apache/spark/serializer/KryoSerializerSuite.scala b/core/src/test/scala/org/apache/spark/serializer/KryoSerializerSuite.scala
index a30653bb36..7c3922e47f 100644
--- a/core/src/test/scala/org/apache/spark/serializer/KryoSerializerSuite.scala
+++ b/core/src/test/scala/org/apache/spark/serializer/KryoSerializerSuite.scala
@@ -76,6 +76,9 @@ class KryoSerializerSuite extends SparkFunSuite with SharedSparkContext {
}
test("basic types") {
+ val conf = new SparkConf(false)
+ conf.set("spark.kryo.registrationRequired", "true")
+
val ser = new KryoSerializer(conf).newInstance()
def check[T: ClassTag](t: T) {
assert(ser.deserialize[T](ser.serialize(t)) === t)
@@ -106,6 +109,9 @@ class KryoSerializerSuite extends SparkFunSuite with SharedSparkContext {
}
test("pairs") {
+ val conf = new SparkConf(false)
+ conf.set("spark.kryo.registrationRequired", "true")
+
val ser = new KryoSerializer(conf).newInstance()
def check[T: ClassTag](t: T) {
assert(ser.deserialize[T](ser.serialize(t)) === t)
@@ -130,12 +136,16 @@ class KryoSerializerSuite extends SparkFunSuite with SharedSparkContext {
}
test("Scala data structures") {
+ val conf = new SparkConf(false)
+ conf.set("spark.kryo.registrationRequired", "true")
+
val ser = new KryoSerializer(conf).newInstance()
def check[T: ClassTag](t: T) {
assert(ser.deserialize[T](ser.serialize(t)) === t)
}
check(List[Int]())
check(List[Int](1, 2, 3))
+ check(Seq[Int](1, 2, 3))
check(List[String]())
check(List[String]("x", "y", "z"))
check(None)