diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/SQLExecution.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/SQLExecution.scala index 1cab0f8d35af5..19bafeb196122 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/SQLExecution.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/SQLExecution.scala @@ -71,11 +71,12 @@ object SQLExecution extends Logging { } private def extractShuffleIds(plan: SparkPlan): Seq[Int] = { - plan match { + val shuffleIdsOption = plan.collectFirst { case ae: AdaptiveSparkPlanExec => ae.context.shuffleIds.asScala.keys.toSeq - case nonAdaptivePlan => - nonAdaptivePlan.collect { + } + shuffleIdsOption.getOrElse { + plan.collect { case exec: ShuffleExchangeLike => exec.shuffleId } }