Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21376#discussion_r189513129
  
    --- Diff: 
sql/core/src/main/scala/org/apache/spark/sql/execution/SQLExecution.scala ---
    @@ -90,13 +92,37 @@ object SQLExecution {
        * thread from the original one, this method can be used to connect the 
Spark jobs in this action
        * with the known executionId, e.g., 
`BroadcastExchangeExec.relationFuture`.
        */
    -  def withExecutionId[T](sc: SparkContext, executionId: String)(body: => 
T): T = {
    +  def withExecutionId[T](sparkSession: SparkSession, executionId: 
String)(body: => T): T = {
    +    val sc = sparkSession.sparkContext
         val oldExecutionId = sc.getLocalProperty(SQLExecution.EXECUTION_ID_KEY)
    +    withSQLConfPropagated(sparkSession) {
    +      try {
    +        sc.setLocalProperty(SQLExecution.EXECUTION_ID_KEY, executionId)
    +        body
    +      } finally {
    +        sc.setLocalProperty(SQLExecution.EXECUTION_ID_KEY, oldExecutionId)
    +      }
    +    }
    +  }
    +
    +  def withSQLConfPropagated[T](sparkSession: SparkSession)(body: => T): T 
= {
    +    val sc = sparkSession.sparkContext
    +    // Set all the specified SQL configs to local properties, so that they 
can be available at
    +    // the executor side.
    +    val allConfigs = sparkSession.sessionState.conf.getAllConfs
    +    val originalLocalProps = allConfigs.collect {
    +      case (key, value) if key.startsWith("spark") =>
    +        val originalValue = sc.getLocalProperty(key)
    +        sc.setLocalProperty(key, value)
    --- End diff --
    
    If users happen to set the same key in the local properties and want to 
access them in tasks, we will break it. It's very unlikely to happen and I'd 
say SQL config keys should be reserved for internal usage only.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to