Skip to content
Snippets Groups Projects
Commit df4d10d6 authored by Matei Zaharia's avatar Matei Zaharia
Browse files

Merge pull request #779 from adatao/adatao-global-SparkEnv

[HOTFIX] Extend thread safety for SparkEnv.get()
parents d2b0f0c2 b1bbbe69
No related branches found
No related tags found
No related merge requests found
......@@ -97,13 +97,26 @@ class SparkEnv (
object SparkEnv extends Logging {
private val env = new ThreadLocal[SparkEnv]
@volatile private var lastSetSparkEnv : SparkEnv = _
def set(e: SparkEnv) {
lastSetSparkEnv = e
env.set(e)
}
/**
* Returns the ThreadLocal SparkEnv, if non-null. Else returns the SparkEnv
* previously set in any thread.
*/
def get: SparkEnv = {
env.get()
Option(env.get()).getOrElse(lastSetSparkEnv)
}
/**
* Returns the ThreadLocal SparkEnv.
*/
def getThreadLocal : SparkEnv = {
env.get()
}
def createFromSystemProperties(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment