Uh oh!
There was an error while loading. Please reload this page.
[SPARK-32643][CORE][K8s] Consolidate state decommissioning in the TaskSchedulerImpl realm - #29452
[SPARK-32643][CORE][K8s] Consolidate state decommissioning in the TaskSchedulerImpl realm#29452agrawaldevesh wants to merge 9 commits into
Conversation
61ac7b8 to
97ad7feComparecc: @holdenk and @prakharjain09 ... This PR simply does some state cleanup/consolidation without making any semantic changes. I would be grateful for your review. I have also created a Jira associated with this. Thanks ! Also @Ngone51 and @cloud-fan |
SparkQA
commented
Aug 18, 2020
Test build #127518 has finished for PR 29452 at commit
|
Ngone51
commented
Aug 18, 2020
@agrawaldevesh Could you please add the |
SparkQA
commented
Aug 18, 2020
Test build #127522 has finished for PR 29452 at commit
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
97ad7fe to
7449fa2CompareUh oh!
There was an error while loading. Please reload this page.
SparkQA
commented
Aug 18, 2020
Test build #127590 has finished for PR 29452 at commit
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
7449fa2 to
6a5be83CompareSparkQA
commented
Aug 19, 2020
Test build #127625 has finished for PR 29452 at commit
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
6a5be83 to
9222f05CompareSparkQA
commented
Aug 19, 2020
Test build #127627 has finished for PR 29452 at commit
|
cloud-fan
commented
Aug 19, 2020
retest this please |
SparkQA
commented
Aug 19, 2020
Test build #127629 has finished for PR 29452 at commit
|
9222f05 to
ebd8408CompareSparkQA
commented
Aug 19, 2020
Test build #127654 has finished for PR 29452 at commit
|
holdenk
commented
Aug 19, 2020
Can we tag this PR with Kubernetes (add [K8S] to the title) so it runs the K8s integration tests? |
ebd8408 to
3541ba9CompareSparkQA
commented
Aug 19, 2020
Kubernetes integration test starting |
SparkQA
commented
Aug 19, 2020
Kubernetes integration test status failure |
SparkQA
commented
Aug 25, 2020
Test build #127895 has finished for PR 29452 at commit
|
SparkQA
commented
Aug 26, 2020
Kubernetes integration test starting |
SparkQA
commented
Aug 26, 2020
Kubernetes integration test status success |
SparkQA
commented
Aug 26, 2020
Test build #127905 has finished for PR 29452 at commit
|
agrawaldevesh
commented
Aug 26, 2020
retest this please |
agrawaldevesh
commented
Aug 26, 2020
jenkins retest this please |
SparkQA
commented
Aug 26, 2020
Kubernetes integration test starting |
SparkQA
commented
Aug 26, 2020
Kubernetes integration test status success |
SparkQA
commented
Aug 26, 2020
Test build #127913 has finished for PR 29452 at commit
|
6b9ded4 to
29fe131CompareSparkQA
commented
Aug 26, 2020
Test build #127917 has finished for PR 29452 at commit
|
agrawaldevesh
commented
Aug 26, 2020
holdenk
commented
Aug 26, 2020
Jenkins retest this please |
SparkQA
commented
Aug 26, 2020
Kubernetes integration test starting |
SparkQA
commented
Aug 26, 2020
Kubernetes integration test status success |
holdenk
commented
Aug 26, 2020
This looks good to me I'm going to go ahead and merge this. |
SparkQA
commented
Aug 26, 2020
Test build #127933 has finished for PR 29452 at commit
|
agrawaldevesh
commented
Aug 27, 2020
Thank you @holdenk for shepherding this all the way through ! |
holdenk
commented
Aug 27, 2020
Thanks for working on this so much! I’m really excited to launch this feature in 3.1 👍 |
What changes were proposed in this pull request?
The decommissioning state is a bit fragment across two places in the TaskSchedulerImpl:
#29014 stored the incoming decommission info messages in TaskSchedulerImpl.executorsPendingDecommission.
While #28619 was storing just the executor end time in the map TaskSetManager.tidToExecutorKillTimeMapping (which in turn is contained in TaskSchedulerImpl).
While the two states are not really overlapping, it's a bit of a code hygiene concern to save this state in two places.
With #29422, TaskSchedulerImpl is emerging as the place where all decommissioning book keeping is kept within the driver. So consolidate the information in tidToExecutorKillTimeMapping into executorsPendingDecommission.
However, in order to do so, we need to walk away from keeping the raw ExecutorDecommissionInfo messages and instead keep another class ExecutorDecommissionState. This decoupling will allow the RPC message class ExecutorDecommissionInfo to evolve independently from the book keeping ExecutorDecommissionState.
Why are the changes needed?
This is just a code cleanup. These two features were added independently and its time to consolidate their state for good hygiene.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing tests.