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-8430]ExternalShuffleBlockResolver of shuffle service should support UnsafeShuffleManager #6873

Closed
wants to merge 2 commits into from

Conversation

lianhuiwang
Copy link
Contributor

@andrewor14 can you take a look?thanks

@SparkQA
Copy link

SparkQA commented Jun 18, 2015

Test build #35108 has finished for PR 6873 at commit 2b27b19.

  • This patch fails SparkR unit tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
    • class ElementwiseProduct(VectorTransformer):
    • case class CreateStruct(children: Seq[Expression]) extends Expression
    • case class Logarithm(left: Expression, right: Expression)
    • case class SetCommand(kv: Option[(String, Option[String])]) extends RunnableCommand with Logging

@JoshRosen
Copy link
Contributor

Ah, interesting: I purposely made sure that the on-disk format would be compatible with the format used by the SortShuffleManager, but I guess I overlooked this.

@andrewor14, the fact that tests didn't catch this suggests that we're not testing many combinations of shuffle managers + external shuffle service. Do you want to open some followup JIRAs / tasks to improve coverage here as part of separate PRs?

@JoshRosen
Copy link
Contributor

Jenkins, retest this please.

@@ -110,6 +110,9 @@ public ManagedBuffer getBlockData(String appId, String execId, String blockId) {
return getHashBasedShuffleBlockData(executor, blockId);
} else if ("org.apache.spark.shuffle.sort.SortShuffleManager".equals(executor.shuffleManager)) {
return getSortBasedShuffleBlockData(executor, shuffleId, mapId, reduceId);
} else if ("org.apache.spark.shuffle.unsafe.UnsafeShuffleManager".equals(
Copy link
Contributor

Choose a reason for hiding this comment

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

this could just be merged with the previous case:

} else if ("org.apache.spark.shuffle.sort.SortShuffleManager".equals(executor.shuffleManager) ||
    "org.apache.spark.shuffle.unsafe.UnsafeShuffleManager".equals(executor.shuffleManager)) {
  return getSortBasedShuffleBlockData(...);
}

@andrewor14
Copy link
Contributor

@andrewor14
Copy link
Contributor

@JoshRosen is this fix sufficient in fixing the issue?

@andrewor14
Copy link
Contributor

Also, @lianhuiwang would you mind updating the title of the PR to exclude references to YARN? This is not a YARN issue, but rather an external shuffle service issue in general.

@JoshRosen
Copy link
Contributor

@andrewor14, yep, this fix looks good to me.

@SparkQA
Copy link

SparkQA commented Jun 18, 2015

Test build #35143 has finished for PR 6873 at commit 2b27b19.

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

@lianhuiwang lianhuiwang changed the title [SPARK-8430][Yarn]in Yarn's shuffle service ExternalShuffleBlockResolver should support UnsafeShuffleManager [SPARK-8430]in Yarn's shuffle service ExternalShuffleBlockResolver should support UnsafeShuffleManager Jun 19, 2015
@lianhuiwang lianhuiwang changed the title [SPARK-8430]in Yarn's shuffle service ExternalShuffleBlockResolver should support UnsafeShuffleManager [SPARK-8430]ExternalShuffleBlockResolver of Yarn's shuffle service should support UnsafeShuffleManager Jun 19, 2015
@lianhuiwang
Copy link
Contributor Author

@andrewor14 @JoshRosen now i have tested unsafeShuffleManger on yarn's external shuffle service and that's ok because now file structures of unsafeManger's shuffle are same as sortShuffleManger.

@JoshRosen
Copy link
Contributor

@lianhuiwang SGTM. I'll merge this after it passes tests.

@lianhuiwang
Copy link
Contributor Author

@JoshRosen thanks.

@SparkQA
Copy link

SparkQA commented Jun 19, 2015

Test build #35204 has finished for PR 6873 at commit 51c47ca.

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

@JoshRosen
Copy link
Contributor

@lianhuiwang, I think this is ready to merge, but do you mind addressing @andrewor14's comment about the title first? The external shuffle service isn't only for use in YARN, so we shouldn't include YARN in the PR title (which becomes the commit title unless I manually fix it up myself on merge).

@lianhuiwang lianhuiwang changed the title [SPARK-8430]ExternalShuffleBlockResolver of Yarn's shuffle service should support UnsafeShuffleManager [SPARK-8430]ExternalShuffleBlockResolver of shuffle service should support UnsafeShuffleManager Jun 19, 2015
@lianhuiwang
Copy link
Contributor Author

@JoshRosen yes, i have update PR's title and removed words about yarn. thanks.

@andrewor14
Copy link
Contributor

Ok, merging into master 1.4

@asfgit asfgit closed this in 9baf093 Jun 19, 2015
asfgit pushed a commit that referenced this pull request Jun 19, 2015
…upport UnsafeShuffleManager

andrewor14 can you take a look?thanks

Author: Lianhui Wang <[email protected]>

Closes #6873 from lianhuiwang/SPARK-8430 and squashes the following commits:

51c47ca [Lianhui Wang] update andrewor's comments
2b27b19 [Lianhui Wang] support UnsafeShuffleManager

(cherry picked from commit 9baf093)
Signed-off-by: Andrew Or <[email protected]>
nemccarthy pushed a commit to nemccarthy/spark that referenced this pull request Jun 22, 2015
…upport UnsafeShuffleManager

andrewor14 can you take a look?thanks

Author: Lianhui Wang <[email protected]>

Closes apache#6873 from lianhuiwang/SPARK-8430 and squashes the following commits:

51c47ca [Lianhui Wang] update andrewor's comments
2b27b19 [Lianhui Wang] support UnsafeShuffleManager

(cherry picked from commit 9baf093)
Signed-off-by: Andrew Or <[email protected]>
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.

4 participants