-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-13519][Core]Driver should tell Executor to stop itself when cleaning executor's state #11399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| case RemoveExecutor(executorId, reason) => | ||
| // We will remove the executor's state and cannot restore it. However, the connection | ||
| // between the driver and the executor may be still alive so that the executor won't exit | ||
| // automatically (E.g., Master will send RemoveExecutor when a work is lost but the executor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is the general class so I don't think we should mention standalone-mode specific things
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed it
|
Test build #52074 has finished for PR 11399 at commit
|
|
Test build #52072 has finished for PR 11399 at commit
|
|
Test build #52075 has finished for PR 11399 at commit
|
|
Test build #52077 has finished for PR 11399 at commit
|
|
Merged into master. I'm a bit hesitant to backport this into 1.6 because it may change behavior in a way that we did not anticipate. If there is interest to backport we should discuss more. |
…leaning executor's state ## What changes were proposed in this pull request? When the driver removes an executor's state, the connection between the driver and the executor may be still alive so that the executor cannot exit automatically (E.g., Master will send RemoveExecutor when a work is lost but the executor is still alive), so the driver should try to tell the executor to stop itself. Otherwise, we will leak an executor. This PR modified the driver to send `StopExecutor` to the executor when it's removed. ## How was this patch tested? manual test: increase the worker heartbeat interval to force it's always timeout and the leak executors are gone. Author: Shixiong Zhu <[email protected]> Closes #11399 from zsxwing/SPARK-13519.
…leaning executor's state ## What changes were proposed in this pull request? When the driver removes an executor's state, the connection between the driver and the executor may be still alive so that the executor cannot exit automatically (E.g., Master will send RemoveExecutor when a work is lost but the executor is still alive), so the driver should try to tell the executor to stop itself. Otherwise, we will leak an executor. This PR modified the driver to send `StopExecutor` to the executor when it's removed. ## How was this patch tested? manual test: increase the worker heartbeat interval to force it's always timeout and the leak executors are gone. Author: Shixiong Zhu <[email protected]> Closes apache#11399 from zsxwing/SPARK-13519. (cherry picked from commit c433c0a)
What changes were proposed in this pull request?
When the driver removes an executor's state, the connection between the driver and the executor may be still alive so that the executor cannot exit automatically (E.g., Master will send RemoveExecutor when a work is lost but the executor is still alive), so the driver should try to tell the executor to stop itself. Otherwise, we will leak an executor.
This PR modified the driver to send
StopExecutorto the executor when it's removed.How was this patch tested?
manual test: increase the worker heartbeat interval to force it's always timeout and the leak executors are gone.