From 9bde5a54cb8ebba615f6ed12dff04ae186ed61d3 Mon Sep 17 00:00:00 2001
From: Matei Zaharia <matei@eecs.berkeley.edu>
Date: Sun, 22 May 2011 16:00:41 -0700
Subject: [PATCH] class loader fix

---
 core/src/main/scala/spark/Executor.scala | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/core/src/main/scala/spark/Executor.scala b/core/src/main/scala/spark/Executor.scala
index 78de41713d..b27a1ebd72 100644
--- a/core/src/main/scala/spark/Executor.scala
+++ b/core/src/main/scala/spark/Executor.scala
@@ -33,7 +33,7 @@ class Executor extends mesos.Executor with Logging {
     classLoader = createClassLoader()
     Thread.currentThread.setContextClassLoader(classLoader)
     
-    // Start worker thread pool (they will inherit our context ClassLoader)
+    // Start worker thread pool
     threadPool = new ThreadPoolExecutor(
       1, 128, 600, TimeUnit.SECONDS, new LinkedBlockingQueue[Runnable])
   }
@@ -52,6 +52,7 @@ class Executor extends mesos.Executor with Logging {
       logInfo("Running task ID " + taskId)
       try {
         SparkEnv.set(env)
+        Thread.currentThread.setContextClassLoader(classLoader)
         Accumulators.clear
         val task = Utils.deserialize[Task[Any]](arg, classLoader)
         for (gen <- task.generation) // Update generation if any is set
-- 
GitLab