cloud-fan commented on a change in pull request #32786:
URL: https://github.com/apache/spark/pull/32786#discussion_r646703026
##########
File path:
sql/core/src/main/scala/org/apache/spark/sql/execution/CollectMetricsExec.scala
##########
@@ -69,7 +69,7 @@ case class CollectMetricsExec(
// - Performance issues due to excessive serialization.
val updater = collector.copyAndReset()
Review comment:
Reading the comments above, our goal is to only send back the
accumulator updates to the driver side when the task completed, and using a
temp task local accumulator doesn't solve the problem when coalesce happens: we
call `collector.setState` when finish processing the first partition, but the
task is not completed yet.
I think a better solution is to improve the accumulator framework and add a
new flag "noUpdateViaHeartbeat", so that the accumulator natively supports this
feature and can work with coalesce, and we don't need to create this temp
accumulator and can remove the `collector.setState` method.
What do you think? @hvanhovell @Ngone51
--
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]