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-37574][CORE][SHUFFLE] Simplify fetchBlocks w/o retry #34831

Closed
wants to merge 2 commits into from

Conversation

pan3793
Copy link
Member

@pan3793 pan3793 commented Dec 8, 2021

What changes were proposed in this pull request?

Simplify code of fetchBlocks w/o retry

Why are the changes needed?

Simplify code.

The original code added in SPARK-4188, the RetryingBlockTransferor looks quite stable now.

#33340 renames RetryingBlockFetcher to RetryingBlockTransferor, the comment still calls it as Fetcher, it's a little misleading.

if (maxRetries > 0) {
  // Note this Fetcher will correctly handle maxRetries == 0; we avoid it just in case there's
  // a bug in this code. We should remove the if statement once we're sure of the stability.
  new RetryingBlockTransferor(transportConf, blockFetchStarter, blockIds, listener).start()
} else {
  blockFetchStarter.createAndStart(blockIds, listener)
}

Does this PR introduce any user-facing change?

No

How was this patch tested?

Update RetryingBlockTransferorSuite

@github-actions github-actions bot added the CORE label Dec 8, 2021
@AmplabJenkins
Copy link

Can one of the admins verify this patch?


if (maxRetries > 0) {
// Note this Fetcher will correctly handle maxRetries == 0; we avoid it just in case there's
// a bug in this code. We should remove the if statement once we're sure of the stability.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder how do you prove this since maxRetries default to 3 rather than 0.

Copy link
Member Author

@pan3793 pan3793 Dec 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are several places overwrite the conf to 0, please search ("spark.shuffle.io.maxRetries", "0") in ExternalShuffleIntegrationSuite and BlockManagerSuite

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When spark.shuffle.io.maxRetries=0, it tests OneForOneBlockFetcher rather than RetryingBlockTransferor, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sound like add unit test cases in RetryingBlockTransferorSuite is more reasonable, will update soon

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated UT, please take a look again.

@github-actions
Copy link

We're closing this PR because it hasn't been updated in a while. This isn't a judgement on the merit of the PR in any way. It's just a way of keeping the PR queue manageable.
If you'd like to revive this PR, please reopen it and ask a committer to remove the Stale tag!

@github-actions github-actions bot added the Stale label Mar 31, 2022
@github-actions github-actions bot closed this Apr 1, 2022
@pan3793 pan3793 deleted the SPARK-37574 branch April 2, 2022 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants