wForget commented on code in PR #3266:
URL: https://github.com/apache/datafusion-comet/pull/3266#discussion_r2726154348


##########
spark/src/main/scala/org/apache/spark/sql/comet/CometNativeColumnarToRowExec.scala:
##########
@@ -64,6 +74,116 @@ case class CometNativeColumnarToRowExec(child: SparkPlan)
     "numInputBatches" -> SQLMetrics.createMetric(sparkContext, "number of 
input batches"),
     "convertTime" -> SQLMetrics.createNanoTimingMetric(sparkContext, "time in 
conversion"))
 
+  @transient
+  private lazy val promise = Promise[broadcast.Broadcast[Any]]()
+
+  @transient
+  private val timeout: Long = conf.broadcastTimeout
+
+  private val runId: UUID = UUID.randomUUID
+
+  private lazy val cometBroadcastExchange = findCometBroadcastExchange(child)
+
+  @transient
+  lazy val relationFuture: Future[broadcast.Broadcast[Any]] = {

Review Comment:
   > I don't understand why we need to broadcast again in comet 
ColumnarToRowExec. Is this because we didn't eliminate ColumnarToRowExec of the 
CometBroadcastExchange parent in EliminateRedundantTransitions?
   
   This is probably because the result of 
`CometBroadcastExchange.executeBroadcast` cannot be used by 
`SubqueryBroadcastExec`.



-- 
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.

To unsubscribe, e-mail: [email protected]

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