holdenk commented on a change in pull request #28818:
URL: https://github.com/apache/spark/pull/28818#discussion_r439785650



##########
File path: 
core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala
##########
@@ -333,11 +335,19 @@ private[spark] class ExecutorMonitor(
   }
 
   override def onBlockUpdated(event: SparkListenerBlockUpdated): Unit = {
-    if (!event.blockUpdatedInfo.blockId.isInstanceOf[RDDBlockId]) {
-      return
-    }
     val exec = 
ensureExecutorIsTracked(event.blockUpdatedInfo.blockManagerId.executorId,
       UNKNOWN_RESOURCE_PROFILE_ID)
+
+    // Check if it is a shuffle file, or RDD to pick the correct codepath for 
update
+    if (event.blockUpdatedInfo.blockId.isInstanceOf[ShuffleDataBlockId] && 
shuffleTrackingEnabled) {
+      event.blockUpdatedInfo.blockId match {
+        case ShuffleDataBlockId(shuffleId, _, _) => exec.addShuffle(shuffleId)
+        case _ => // For now we only update on data blocks
+      }

Review comment:
       So it's not (I still want to get to SPARK-31974). The executor monitor 
keeps track of locations of cache and shuffle blocks and this can be used to 
decide which executor(s) Spark should shutdown first. Since we move shuffle 
blocks around now this wires it up so that it keeps track of it.




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