[SPARK-32524][SQL][TESTS] CachedBatchSerializerSuite should clean up InMemoryRelation.ser
### What changes were proposed in this pull request? This PR aims to clean up `InMemoryRelation.ser` in `CachedBatchSerializerSuite`. ### Why are the changes needed? SPARK-32274 makes SQL cache serialization pluggable. ``` [SPARK-32274][SQL] Make SQL cache serialization pluggable ``` This causes UT failures. ``` $ build/sbt "sql/testOnly *.CachedBatchSerializerSuite *.CachedTableSuite" ... [info] Cause: java.lang.IllegalStateException: This does not work. This is only for testing [info] at org.apache.spark.sql.execution.columnar.TestSingleIntColumnarCachedBatchSerializer.convertInternalRowToCachedBatch(CachedBatchSerializerSuite.scala:49) ... [info] *** 30 TESTS FAILED *** [error] Failed: Total 51, Failed 30, Errors 0, Passed 21 [error] Failed tests: [error] org.apache.spark.sql.CachedTableSuite [error] (sql/test:testOnly) sbt.TestsFailedException: Tests unsuccessful ``` ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Manually. ``` $ build/sbt "sql/testOnly *.CachedBatchSerializerSuite *.CachedTableSuite" [info] Tests: succeeded 51, failed 0, canceled 0, ignored 0, pending 0 [info] All tests passed. [info] Passed: Total 51, Failed 0, Errors 0, Passed 51 ``` Closes #29346 from dongjoon-hyun/SPARK-32524-3. Authored-by: Dongjoon Hyun <dongjoon@apache.org> Signed-off-by: HyukjinKwon <gurwls223@apache.org>
This commit is contained in:
parent
005ef3a5b8
commit
7fec6e0c16
|
@ -277,6 +277,9 @@ object InMemoryRelation {
|
|||
ser.get
|
||||
}
|
||||
|
||||
/* Visible for testing */
|
||||
private[columnar] def clearSerializer(): Unit = synchronized { ser = None }
|
||||
|
||||
def convertToColumnarIfPossible(plan: SparkPlan): SparkPlan = plan match {
|
||||
case gen: WholeStageCodegenExec => gen.child match {
|
||||
case c2r: ColumnarToRowTransition => c2r.child match {
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.apache.spark.sql.{QueryTest, Row}
|
|||
import org.apache.spark.sql.catalyst.InternalRow
|
||||
import org.apache.spark.sql.catalyst.expressions.{Attribute, Expression}
|
||||
import org.apache.spark.sql.columnar.{CachedBatch, CachedBatchSerializer}
|
||||
import org.apache.spark.sql.execution.columnar.InMemoryRelation.clearSerializer
|
||||
import org.apache.spark.sql.execution.vectorized.OnHeapColumnVector
|
||||
import org.apache.spark.sql.internal.{SQLConf, StaticSQLConf}
|
||||
import org.apache.spark.sql.test.SharedSparkSession
|
||||
|
@ -120,6 +121,16 @@ class CachedBatchSerializerSuite extends QueryTest with SharedSparkSession {
|
|||
classOf[TestSingleIntColumnarCachedBatchSerializer].getName)
|
||||
}
|
||||
|
||||
protected override def beforeAll(): Unit = {
|
||||
super.beforeAll()
|
||||
clearSerializer()
|
||||
}
|
||||
|
||||
protected override def afterAll(): Unit = {
|
||||
clearSerializer()
|
||||
super.afterAll()
|
||||
}
|
||||
|
||||
test("Columnar Cache Plugin") {
|
||||
withTempPath { workDir =>
|
||||
val workDirPath = workDir.getAbsolutePath
|
||||
|
|
Loading…
Reference in a new issue