Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-35011][CORE] Fix false active executor in UI that caused by Bl…
…ockManager reregistration ### What changes were proposed in this pull request? Also post the event `SparkListenerExecutorRemoved` when removing an executor, which is known by `BlockManagerMaster` but unknown to `SchedulerBackend`. ### Why are the changes needed? In #32114, it reports an issue that `BlockManagerMaster` could register a `BlockManager` from a dead executor due to reregistration mechanism. The side effect is, the executor will be shown on the UI as an active one, though it's already dead indeed. In #32114, we tried to avoid such reregistration for a to-be-dead executor. However, I just realized that we can actually leave such reregistration alone since `HeartbeatReceiver.expireDeadHosts` should clean up those `BlockManager`s in the end. The problem is, the corresponding executors in UI can't be cleaned along with the `BlockManager`s cleaning. Because executors in UI can only be cleaned by `SparkListenerExecutorRemoved`, while `BlockManager`s cleaning only post `SparkListenerBlockManagerRemoved` (which is ignored by `AppStatusListener`). ### Does this PR introduce _any_ user-facing change? Yes, users would see the false active executor be removed in the end. ### How was this patch tested? Pass existing tests. Closes #34536 from Ngone51/SPARK-35011. Lead-authored-by: wuyi <yi.wu@databricks.com> Co-authored-by: yi.wu <yi.wu@databricks.com> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
- Loading branch information