Github user rdblue commented on a diff in the pull request:
https://github.com/apache/spark/pull/17540#discussion_r112722622
--- Diff:
sql/core/src/main/scala/org/apache/spark/sql/execution/ui/SQLListener.scala ---
@@ -353,11 +353,19 @@ class SQLListener(conf: SparkConf) extends
SparkListener with Logging {
}
val driverUpdates = executionUIData.driverAccumUpdates.toSeq
- val totalUpdates = (accumulatorUpdates ++ driverUpdates).filter {
- case (id, _) => executionUIData.accumulatorMetrics.contains(id)
+ // filter out updates that aren't Longs
+ val totalUpdates = (accumulatorUpdates ++ driverUpdates).filter {
update =>
+ update._2.isInstanceOf[Long]
}
+ // Hack alert!
+ // metrics may be missing from the executionUIData because metrics
are taken from the
+ // SparkPlan passed to withNewExecutionId, but some nodes in that
plan link in LogicalPlan
+ // nodes that don't expose the actual SparkPlan or metrics because
the SparkPlan is built
--- End diff --
Probably not. I can revert this and ignore the test for now, since it
doesn't get any metrics.
I looked at other ways around the problem, but unless we introduce a lot
more changes to produce the physical plan and get its metrics, there isn't much
we can do. I think it makes the most sense for those changes to to into another
issue that tracks getting rid of places where the physical plan is split like
this.
So what would you like me to do to get this ready to merge?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]