[
https://issues.apache.org/jira/browse/SPARK-17552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Owen resolved SPARK-17552.
-------------------------------
Resolution: Invalid
Questions should go to user@. The two locks here are not the same one.
> Doubt about the double Synchronized in Object SparkSession.getOrCreate()
> ------------------------------------------------------------------------
>
> Key: SPARK-17552
> URL: https://issues.apache.org/jira/browse/SPARK-17552
> Project: Spark
> Issue Type: Question
> Components: Spark Core, SQL
> Affects Versions: 2.0.0
> Reporter: Jianfei Wang
> Priority: Trivial
> Labels: features
>
> Because the getOrCreate() is a method of object SparkSession, only one
> thread can get into the first synchronized block at the same time, so I think
> the second synchronzied is unnecessary, of course maybe there are some other
> reasons, please discuss here,thank you!
> {code}
> def getOrCreate(): SparkSession = synchronized {
> // Get the session from current thread's active session.
> var session = activeThreadSession.get()
> if ((session ne null) && !session.sparkContext.isStopped) {
> options.foreach { case (k, v) => session.conf.set(k, v) }
> if (options.nonEmpty) {
> logWarning("Use an existing SparkSession, some configuration may
> not take effect.")
> }
> return session
> }
> // Global synchronization so we will only set the default session once.
> SparkSession.synchronized {
> // some code here
> }
>
> return session
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]