Skip to content
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

[SPARK-23433][SPARK-25250] [CORE][BRANCH-2.3] Later created TaskSet should learn about the finished partitions #24007

Closed

Conversation

Ngone51
Copy link
Member

@Ngone51 Ngone51 commented Mar 7, 2019

What changes were proposed in this pull request?

This is an optional solution for #22806 .

#21131 firstly implement that a previous successful completed task from zombie TaskSetManager could also succeed the active TaskSetManager, which based on an assumption that an active TaskSetManager always exists for that stage when this happen. But that's not always true as an active TaskSetManager may haven't been created when a previous task succeed, and this is the reason why #22806 hit the issue.

This pr extends #21131 's behavior by adding stageIdToFinishedPartitions into TaskSchedulerImpl, which recording the finished partition whenever a task(from zombie or active) succeed. Thus, a later created active TaskSetManager could also learn about the finished partition by looking into stageIdToFinishedPartitions and won't launch any duplicate tasks.

How was this patch tested?

Add.

@Ngone51
Copy link
Member Author

Ngone51 commented Mar 7, 2019

cc @squito

@squito
Copy link
Contributor

squito commented Mar 7, 2019

just curious, what was the conflict? I'm wondering if there is some other fix we've forgotten to backport?

@Ngone51
Copy link
Member Author

Ngone51 commented Mar 7, 2019

tests from 2.4

@SparkQA
Copy link

SparkQA commented Mar 7, 2019

Test build #103142 has finished for PR 24007 at commit b013c57.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

asfgit pushed a commit that referenced this pull request Mar 7, 2019
…ould learn about the finished partitions

## What changes were proposed in this pull request?

This is an optional solution for #22806 .

#21131 firstly implement that a previous successful completed task from zombie TaskSetManager could also succeed the active TaskSetManager, which based on an assumption that an active TaskSetManager always exists for that stage when this happen. But that's not always true as an active TaskSetManager may haven't been created when a previous task succeed, and this is the reason why #22806 hit the issue.

This pr extends #21131 's behavior by adding stageIdToFinishedPartitions into TaskSchedulerImpl, which recording the finished partition whenever a task(from zombie or active) succeed. Thus, a later created active TaskSetManager could also learn about the finished partition by looking into stageIdToFinishedPartitions and won't launch any duplicate tasks.

## How was this patch tested?

Add.

Closes #24007 from Ngone51/dev-23433-25250-branch-2.3.

Authored-by: wuyi <[email protected]>
Signed-off-by: Imran Rashid <[email protected]>
@squito
Copy link
Contributor

squito commented Mar 7, 2019

lgtm. merging to 2.3, thanks @Ngone51 !

@Ngone51
Copy link
Member Author

Ngone51 commented Mar 8, 2019

Thanks @squito .

@Ngone51 Ngone51 closed this Mar 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants