aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorMatei Zaharia <matei@eecs.berkeley.edu>2011-05-31 23:48:11 -0700
committerMatei Zaharia <matei@eecs.berkeley.edu>2011-05-31 23:48:11 -0700
commit10fe324845512cd82c4c297d896799761016dfc4 (patch)
tree8dd1edc7b6f7abbaaf6375b55a64936f943c123a /core
parent90f924202b0eb7716a2c2eced23a357cb01490ea (diff)
parent5166d76843d64ddf659660179be05ce09912e2de (diff)
downloadspark-10fe324845512cd82c4c297d896799761016dfc4.tar.gz
spark-10fe324845512cd82c4c297d896799761016dfc4.tar.bz2
spark-10fe324845512cd82c4c297d896799761016dfc4.zip
Merge remote-tracking branch 'origin/master' into scala-2.9
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/spark/Logging.scala4
-rw-r--r--core/src/main/scala/spark/SparkContext.scala3
2 files changed, 7 insertions, 0 deletions
diff --git a/core/src/main/scala/spark/Logging.scala b/core/src/main/scala/spark/Logging.scala
index 2d1feebbb1..c9408bbcb6 100644
--- a/core/src/main/scala/spark/Logging.scala
+++ b/core/src/main/scala/spark/Logging.scala
@@ -46,4 +46,8 @@ trait Logging {
def logError(msg: => String, throwable: Throwable) =
if (log.isErrorEnabled) log.error(msg, throwable)
+
+ // Method for ensuring that logging is initialized, to avoid having multiple
+ // threads do it concurrently (as SLF4J initialization is not thread safe).
+ def initLogging() { log }
}
diff --git a/core/src/main/scala/spark/SparkContext.scala b/core/src/main/scala/spark/SparkContext.scala
index 7aa1eb0a71..2f2ff0e801 100644
--- a/core/src/main/scala/spark/SparkContext.scala
+++ b/core/src/main/scala/spark/SparkContext.scala
@@ -15,6 +15,9 @@ class SparkContext(
val sparkHome: String = null,
val jars: Seq[String] = Nil)
extends Logging {
+ // Ensure logging is initialized before we spawn any threads
+ initLogging()
+
// Set Spark master host and port system properties
if (System.getProperty("spark.master.host") == null)
System.setProperty("spark.master.host", Utils.localHostName)