From 985a43ddbd5d1c011dd67dcc389f8862de9402c4 Mon Sep 17 00:00:00 2001 From: Tim Ellison Date: Fri, 8 May 2015 14:08:52 -0700 Subject: [PATCH] [MINOR] Defeat early garbage collection of test suite variable The JVM is free to collect references to variables that no longer participate in a computation. This simple patch adds an operation to the variable 'rdd' to ensure it is not collected early in the test suite's explicit calls to GC. ref: http://bugs.java.com/view_bug.do?bug_id=6721588 Author: Tim Ellison Closes #6010 from tellison/master and squashes the following commits: 77d1c8f [Tim Ellison] Defeat early garbage collection of test suite variable by aggressive JVMs --- core/src/test/scala/org/apache/spark/ContextCleanerSuite.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/test/scala/org/apache/spark/ContextCleanerSuite.scala b/core/src/test/scala/org/apache/spark/ContextCleanerSuite.scala index c7868ddcf770f..cb30e1f4e63a1 100644 --- a/core/src/test/scala/org/apache/spark/ContextCleanerSuite.scala +++ b/core/src/test/scala/org/apache/spark/ContextCleanerSuite.scala @@ -183,6 +183,7 @@ class ContextCleanerSuite extends ContextCleanerSuiteBase { } // Test that GC causes shuffle cleanup after dereferencing the RDD + rdd.count() // Defeat any early collection of rdd variable by the JVM val postGCTester = new CleanerTester(sc, shuffleIds = Seq(0)) rdd = null // Make RDD out of scope, so that corresponding shuffle goes out of scope runGC()