[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.
This commit is contained in:
parent
364b0db753
commit
fb5869f2cf
|
@ -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]
|
||||
)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue