Uh oh!
There was an error while loading. Please reload this page.
[SPARK-12807] [YARN] Spark External Shuffle not working in Hadoop clusters with Jackson 2.2.3 - #10780
Conversation
steveloughran
commented
Jan 16, 2016
Updated patch which has shading of There's a test for this working; it uses the ant plugin to probe the JAR for .class files. It works, and I've verified that it stops working if you don't have the classes in. This validation runs in the This test does not (obviously) verify that this fixes the conflict between YARN NM and Shuffle. This is going to need external tests |
SparkQA
commented
Jan 16, 2016
Test build #49508 has finished for PR 10780 at commit
|
SparkQA
commented
Jan 16, 2016
Test build #49510 has finished for PR 10780 at commit
|
steveloughran
commented
Jan 16, 2016
Jenkins, retest this please |
SparkQA
commented
Jan 16, 2016
Test build #49522 has finished for PR 10780 at commit
|
steveloughran
commented
Jan 19, 2016
The latest patch
When built with Maybe instead of |
SparkQA
commented
Jan 19, 2016
Test build #49698 has finished for PR 10780 at commit
|
SparkQA
commented
Jan 20, 2016
Test build #49736 has finished for PR 10780 at commit
|
98f18aa to
0ae0955CompareSparkQA
commented
Feb 3, 2016
Test build #50675 has finished for PR 10780 at commit
|
vanzin
commented
Feb 4, 2016
@steveloughran given the discussion on the bug, can you remove shading for anything but Jackson? In particular, shading the javax annotations is wrong because that would probably break tools that rely on them to do checks. |
steveloughran
commented
Feb 5, 2016
Can do |
steveloughran
commented
Feb 5, 2016
I've just pushed out a new version which leaves only jackson and guava as the relocations: the ones that are most trouble. I could turn off the guava relocate, though that introduces a risk of the shuffle failing if the hadoop bundled guava 11.x gets picked up first. The hadoop codebase is designed to work with later guavas, so can cope with the spark one being picked up. leveldb can be omitted with a Pleveldb-provided profile; this is disabled by default (i.e. leveldb is bundled) |
0ae0955 to
43d2b34CompareSparkQA
commented
Feb 5, 2016
Test build #50815 has finished for PR 10780 at commit
|
There was a problem hiding this comment.
Why not use the shade property you created here too?
There was a problem hiding this comment.
one is {{org/spark-project}}, the other {{org.spark-project}}; you'd have to do s/r renaming to automatically derive one from the other. With hindsight, it's a common enough use case we should have added it to Ant 15 years ago, but its too late now.
…verify shading is there. currently they fail
…eed to be asserting state of JAR
… the artifact. the build fails, as the verify stage is still probing for it
…ffle versions being in perfect sync, so duplication is harmless
43d2b34 to
947a798CompareSparkQA
commented
Feb 8, 2016
Test build #50918 has finished for PR 10780 at commit
|
| <relocation> | ||
| <pattern>com.fasterxml.jackson</pattern> | ||
| <shadedPattern>org.spark-project.com.fasterxml.jackson</shadedPattern> | ||
| <includes> |
There was a problem hiding this comment.
super nit: I wonder if this is needed; we have it for Jetty but not for Guava, and both end up being relocated the same way.
There was a problem hiding this comment.
maven shading is a dark mystery to me. I don't understand what it does; I don't trust it. What you see there is cargo-cult cut and paste backed by a bit of ant to verify the final outcome of the C&P matches what I want.
vanzin
commented
Feb 8, 2016
LGTM. |
vanzin
commented
Feb 9, 2016
Merging this. |
…ters with Jackson 2.2.3 Patch to 1. Shade jackson 2.x in spark-yarn-shuffle JAR: core, databind, annotation 2. Use maven antrun to verify the JAR has the renamed classes Being Maven-based, I don't know if the verification phase kicks in on an SBT/jenkins build. It will on a `mvn install` Author: Steve Loughran <stevel@hortonworks.com> Closes#10780 from steveloughran/stevel/patches/SPARK-12807-master-shuffle. (cherry picked from commit 34d0b70) Signed-off-by: Marcelo Vanzin <vanzin@cloudera.com>
steveloughran
commented
Feb 10, 2016
thanks! |
Patch to
Being Maven-based, I don't know if the verification phase kicks in on an SBT/jenkins build. It will on a
mvn install