You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "胡振宇 (Jira)" <ji...@apache.org> on 2021/09/02 06:33:00 UTC

[jira] [Updated] (SPARK-36584) ExecutorMonitor#onBlockUpdated will receive event from driver

     [ https://issues.apache.org/jira/browse/SPARK-36584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

胡振宇 updated SPARK-36584:
------------------------
    Description: 
 When driver broadcast object, it will send the [SparkListenerBlockUpdated|[https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/SparkListener.scala#L228]] event. [[ExecutorMonitor#onBlockUpdated|#onBlockUpdated]|[https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala#L380]] receives and handles the event, in this method, 
 it calls [ensureExecutorIsTracked|[https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala#L489]]
 to put driver in `executors` variable with `UNKNOWN_RESOURCE_PROFILE_ID`. In my understanding, `ExecutorMonitor` should only monitor Executor.  Although this will not cause any problems at the moment because UNKNOWN_RESOURCE_PROFILE_ID will be filtered out, but I think this is a potential risk

  was:
 When driver broadcast object, 
it will send the [SparkListenerBlockUpdated](https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/SparkListener.scala#L228) event.
[ExecutorMonitor#onBlockUpdated](https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala#L380) 
receives and handles the event, in this method, 
it calls [ensureExecutorIsTracked](https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala#L489)
to put driver in `executors` variable, but in my understanding, `ExecutorMonitor` should only monitor Executor, not Driver. 
Moreover, adding a `driver` to the `executors` will affect the calculation of
[ExecutorAllocationManager#removeExecutors](https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/ExecutorAllocationManager.scala#L552), and the driver will occupy the count of `executors`

     Issue Type: Question  (was: Bug)
       Priority: Minor  (was: Major)

> ExecutorMonitor#onBlockUpdated will receive event from driver
> -------------------------------------------------------------
>
>                 Key: SPARK-36584
>                 URL: https://issues.apache.org/jira/browse/SPARK-36584
>             Project: Spark
>          Issue Type: Question
>          Components: Spark Core
>    Affects Versions: 3.1.2
>         Environment: Spark 3.1.2
>            Reporter: 胡振宇
>            Priority: Minor
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
>  When driver broadcast object, it will send the [SparkListenerBlockUpdated|[https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/SparkListener.scala#L228]] event. [[ExecutorMonitor#onBlockUpdated|#onBlockUpdated]|[https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala#L380]] receives and handles the event, in this method, 
>  it calls [ensureExecutorIsTracked|[https://github.com/apache/spark/blob/df0ec56723f0b47c3629055fa7a8c63bb4285147/core/src/main/scala/org/apache/spark/scheduler/dynalloc/ExecutorMonitor.scala#L489]]
>  to put driver in `executors` variable with `UNKNOWN_RESOURCE_PROFILE_ID`. In my understanding, `ExecutorMonitor` should only monitor Executor.  Although this will not cause any problems at the moment because UNKNOWN_RESOURCE_PROFILE_ID will be filtered out, but I think this is a potential risk



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org