From aa0c29f74779bc5af70250c7481dbd7052ee39cf Mon Sep 17 00:00:00 2001
From: jerryshao <saisai.shao@intel.com>
Date: Sun, 22 Sep 2013 09:40:40 +0800
Subject: [PATCH] Add barrier for local properties unit test and fix some
 styles

---
 .../main/scala/org/apache/spark/SparkContext.scala    |  3 ++-
 .../test/scala/org/apache/spark/ThreadingSuite.scala  | 11 +++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/core/src/main/scala/org/apache/spark/SparkContext.scala b/core/src/main/scala/org/apache/spark/SparkContext.scala
index 3922e9a7fa..6bab1f31d0 100644
--- a/core/src/main/scala/org/apache/spark/SparkContext.scala
+++ b/core/src/main/scala/org/apache/spark/SparkContext.scala
@@ -275,7 +275,8 @@ class SparkContext(
     }
   }
 
-  def getLocalProperty(key: String): String = Option(localProperties.get).map(_.getProperty(key)).getOrElse(null)
+  def getLocalProperty(key: String): String =
+    Option(localProperties.get).map(_.getProperty(key)).getOrElse(null)
 
   /** Set a human readable description of the current job. */
   def setJobDescription(value: String) {
diff --git a/core/src/test/scala/org/apache/spark/ThreadingSuite.scala b/core/src/test/scala/org/apache/spark/ThreadingSuite.scala
index 331f79dba1..75d6493e33 100644
--- a/core/src/test/scala/org/apache/spark/ThreadingSuite.scala
+++ b/core/src/test/scala/org/apache/spark/ThreadingSuite.scala
@@ -152,36 +152,43 @@ class ThreadingSuite extends FunSuite with LocalSparkContext {
 
   test("set local properties in different thread") {
     sc = new SparkContext("local", "test")
+    val sem = new Semaphore(0)
 
-    val threads = (1 to 5).map{ i =>
+    val threads = (1 to 5).map { i =>
       new Thread() {
         override def run() {
           sc.setLocalProperty("test", i.toString)
           assert(sc.getLocalProperty("test") === i.toString)
+          sem.release()
         }
       }
     }
 
     threads.foreach(_.start())
 
+    sem.acquire(5)
     assert(sc.getLocalProperty("test") === null)
   }
 
   test("set and get local properties in parent-children thread") {
     sc = new SparkContext("local", "test")
     sc.setLocalProperty("test", "parent")
+    val sem = new Semaphore(0)
 
-    val threads = (1 to 5).map{ i =>
+    val threads = (1 to 5).map { i =>
       new Thread() {
         override def run() {
           assert(sc.getLocalProperty("test") === "parent")
           sc.setLocalProperty("test", i.toString)
           assert(sc.getLocalProperty("test") === i.toString)
+          sem.release()
         }
       }
     }
 
     threads.foreach(_.start())
+
+    sem.acquire(5)
     assert(sc.getLocalProperty("test") === "parent")
     assert(sc.getLocalProperty("Foo") === null)
   }
-- 
GitLab