Skip to content

Commit c8680f9

Browse files
committed
Move to companion
1 parent ae1b642 commit c8680f9

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

core/src/main/scala/org/apache/spark/serializer/KryoSerializer.scala

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -88,50 +88,6 @@ class KryoSerializer(conf: SparkConf)
8888
private val useUnsafe = conf.get(KRYO_USE_UNSAFE)
8989
private val usePool = conf.get(KRYO_USE_POOL)
9090

91-
// classForName() is expensive in case the class is not found, so we filter the list of
92-
// SQL / ML / MLlib classes once and then re-use that filtered list in newInstance() calls.
93-
private lazy val loadableClasses: Seq[Class[_]] = {
94-
Seq(
95-
"org.apache.spark.sql.catalyst.expressions.UnsafeRow",
96-
"org.apache.spark.sql.catalyst.expressions.UnsafeArrayData",
97-
"org.apache.spark.sql.catalyst.expressions.UnsafeMapData",
98-
99-
"org.apache.spark.ml.attribute.Attribute",
100-
"org.apache.spark.ml.attribute.AttributeGroup",
101-
"org.apache.spark.ml.attribute.BinaryAttribute",
102-
"org.apache.spark.ml.attribute.NominalAttribute",
103-
"org.apache.spark.ml.attribute.NumericAttribute",
104-
105-
"org.apache.spark.ml.feature.Instance",
106-
"org.apache.spark.ml.feature.LabeledPoint",
107-
"org.apache.spark.ml.feature.OffsetInstance",
108-
"org.apache.spark.ml.linalg.DenseMatrix",
109-
"org.apache.spark.ml.linalg.DenseVector",
110-
"org.apache.spark.ml.linalg.Matrix",
111-
"org.apache.spark.ml.linalg.SparseMatrix",
112-
"org.apache.spark.ml.linalg.SparseVector",
113-
"org.apache.spark.ml.linalg.Vector",
114-
"org.apache.spark.ml.stat.distribution.MultivariateGaussian",
115-
"org.apache.spark.ml.tree.impl.TreePoint",
116-
"org.apache.spark.mllib.clustering.VectorWithNorm",
117-
"org.apache.spark.mllib.linalg.DenseMatrix",
118-
"org.apache.spark.mllib.linalg.DenseVector",
119-
"org.apache.spark.mllib.linalg.Matrix",
120-
"org.apache.spark.mllib.linalg.SparseMatrix",
121-
"org.apache.spark.mllib.linalg.SparseVector",
122-
"org.apache.spark.mllib.linalg.Vector",
123-
"org.apache.spark.mllib.regression.LabeledPoint",
124-
"org.apache.spark.mllib.stat.distribution.MultivariateGaussian"
125-
).flatMap { name =>
126-
try {
127-
Some[Class[_]](Utils.classForName(name))
128-
} catch {
129-
case NonFatal(_) => None // do nothing
130-
case _: NoClassDefFoundError if Utils.isTesting => None // See SPARK-23422.
131-
}
132-
}
133-
}
134-
13591
def newKryoOutput(): KryoOutput =
13692
if (useUnsafe) {
13793
new KryoUnsafeOutput(bufferSize, math.max(bufferSize, maxBufferSize))
@@ -256,7 +212,7 @@ class KryoSerializer(conf: SparkConf)
256212

257213
// We can't load those class directly in order to avoid unnecessary jar dependencies.
258214
// We load them safely, ignore it if the class not found.
259-
loadableClasses.foreach { clazz =>
215+
KryoSerializer.loadableSparkClasses.foreach { clazz =>
260216
try {
261217
kryo.register(clazz)
262218
} catch {
@@ -528,6 +484,50 @@ private[serializer] object KryoSerializer {
528484
}
529485
}
530486
)
487+
488+
// classForName() is expensive in case the class is not found, so we filter the list of
489+
// SQL / ML / MLlib classes once and then re-use that filtered list in newInstance() calls.
490+
private lazy val loadableSparkClasses: Seq[Class[_]] = {
491+
Seq(
492+
"org.apache.spark.sql.catalyst.expressions.UnsafeRow",
493+
"org.apache.spark.sql.catalyst.expressions.UnsafeArrayData",
494+
"org.apache.spark.sql.catalyst.expressions.UnsafeMapData",
495+
496+
"org.apache.spark.ml.attribute.Attribute",
497+
"org.apache.spark.ml.attribute.AttributeGroup",
498+
"org.apache.spark.ml.attribute.BinaryAttribute",
499+
"org.apache.spark.ml.attribute.NominalAttribute",
500+
"org.apache.spark.ml.attribute.NumericAttribute",
501+
502+
"org.apache.spark.ml.feature.Instance",
503+
"org.apache.spark.ml.feature.LabeledPoint",
504+
"org.apache.spark.ml.feature.OffsetInstance",
505+
"org.apache.spark.ml.linalg.DenseMatrix",
506+
"org.apache.spark.ml.linalg.DenseVector",
507+
"org.apache.spark.ml.linalg.Matrix",
508+
"org.apache.spark.ml.linalg.SparseMatrix",
509+
"org.apache.spark.ml.linalg.SparseVector",
510+
"org.apache.spark.ml.linalg.Vector",
511+
"org.apache.spark.ml.stat.distribution.MultivariateGaussian",
512+
"org.apache.spark.ml.tree.impl.TreePoint",
513+
"org.apache.spark.mllib.clustering.VectorWithNorm",
514+
"org.apache.spark.mllib.linalg.DenseMatrix",
515+
"org.apache.spark.mllib.linalg.DenseVector",
516+
"org.apache.spark.mllib.linalg.Matrix",
517+
"org.apache.spark.mllib.linalg.SparseMatrix",
518+
"org.apache.spark.mllib.linalg.SparseVector",
519+
"org.apache.spark.mllib.linalg.Vector",
520+
"org.apache.spark.mllib.regression.LabeledPoint",
521+
"org.apache.spark.mllib.stat.distribution.MultivariateGaussian"
522+
).flatMap { name =>
523+
try {
524+
Some[Class[_]](Utils.classForName(name))
525+
} catch {
526+
case NonFatal(_) => None // do nothing
527+
case _: NoClassDefFoundError if Utils.isTesting => None // See SPARK-23422.
528+
}
529+
}
530+
}
531531
}
532532

533533
/**

0 commit comments

Comments
 (0)