Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
2.4.0, 2.4.4
-
None
-
None
Description
Backgroud
The driver can't sense this executor was lost through the network connection disconnection If an executor was lost in the network and it have not responsed rst and close packet to driver, so driver can only sense this executor dead through heartbeat expired.
Problems
Heartbeat expiration processing flow as follows:
- Executor heartbeat expired as above.
- HeartbeatReceiver will call scheduler executor lost to rescheduler the tasks on this executor.
- HeartbeatReceiver kill the executor.
The tasks on the dead executor have a chance to rescheduled on this dead executor again if the task rescheduler before the executor has't remove from executorBackend, it will send launch task to this executor again, the executor will not response and the driver can't sense through heartbeat beause the executor has lost in network. This cause those tasks rescheduled on this lost executor can't finish forever, and the app will hung up here forever.
Attachments
Issue Links
- duplicates
-
SPARK-27348 HeartbeatReceiver doesn't remove lost executors from CoarseGrainedSchedulerBackend
- Resolved
- links to