aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala21
1 files changed, 14 insertions, 7 deletions
diff --git a/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala
index 01e3b86710..0772e5e187 100644
--- a/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala
+++ b/sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala
@@ -300,19 +300,26 @@ class CachedTableSuite extends QueryTest {
}
test("Clear accumulators when uncacheTable to prevent memory leaking") {
- val accsSize = Accumulators.originals.size
-
sql("SELECT key FROM testData LIMIT 10").registerTempTable("t1")
sql("SELECT key FROM testData LIMIT 5").registerTempTable("t2")
- cacheTable("t1")
- cacheTable("t2")
+
+ Accumulators.synchronized {
+ val accsSize = Accumulators.originals.size
+ cacheTable("t1")
+ cacheTable("t2")
+ assert((accsSize + 2) == Accumulators.originals.size)
+ }
+
sql("SELECT * FROM t1").count()
sql("SELECT * FROM t2").count()
sql("SELECT * FROM t1").count()
sql("SELECT * FROM t2").count()
- uncacheTable("t1")
- uncacheTable("t2")
- assert(accsSize >= Accumulators.originals.size)
+ Accumulators.synchronized {
+ val accsSize = Accumulators.originals.size
+ uncacheTable("t1")
+ uncacheTable("t2")
+ assert((accsSize - 2) == Accumulators.originals.size)
+ }
}
}