LantaoJin commented on a change in pull request #31119:
URL: https://github.com/apache/spark/pull/31119#discussion_r558033327



##########
File path: 
sql/core/src/main/scala/org/apache/spark/sql/execution/exchange/BroadcastExchangeExec.scala
##########
@@ -74,7 +74,10 @@ case class BroadcastExchangeExec(
     child: SparkPlan) extends BroadcastExchangeLike {
   import BroadcastExchangeExec._
 
-  override val runId: UUID = UUID.randomUUID
+  // Cancelling a SQL statement from Spark ThriftServer needs to cancel
+  // its related broadcast sub-jobs. So set the run id to job group id if 
exists.
+  override val runId: UUID = 
Option(sparkContext.getLocalProperty(SparkContext.SPARK_JOB_GROUP_ID))

Review comment:
       Job group id is still a basic API which used to cancel the a group of 
jobs (depends on custom business). In a non-STS environment, users can set job 
group id manually, and run some long-running jobs. In some cases, such as a 
custom exception, user want to cancel all jobs with the same job group. And 
broadcast timeout shouldn't use job group Id to can broadcast job.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to