Uh oh!
There was an error while loading. Please reload this page.
[SPARK-28877][PYSPARK][test-hadoop3.2][test-java11] Make jaxb-runtime compile-time dependency - #25587
[SPARK-28877][PYSPARK][test-hadoop3.2][test-java11] Make jaxb-runtime compile-time dependency#25587dongjoon-hyun wants to merge 1 commit into
Conversation
HyukjinKwon
commented
Aug 27, 2019
This is nice!! |
HyukjinKwon
commented
Aug 27, 2019
retest this please |
SparkQA
commented
Aug 27, 2019
Test build #109762 has finished for PR 25587 at commit
|
HyukjinKwon
commented
Aug 27, 2019
retest this please |
dongjoon-hyun
commented
Aug 27, 2019
Thank you for review and approval and retriggering, @HyukjinKwon . |
There was a problem hiding this comment.
Yeah I think that's probably the right answer here. We need to bundle some (possibly many) JAXB implementations for JDK 11 and it shouldn't hurt JDK 8. We might need to slip in an extra entry in one of the license files, otherwise can't think of anything else.
EDIT: No it's already there. It's already a runtime dependency. Hm, wait, then why isn't it present for the tests already? we should already be bundling this. I somehow think this wasn't the issue, it was already fine but the issue is in how Pyspark tests form the classpath from the assembly jars/ dir. Let's take a look.
Thank you for review, @srowen . However, our BEFORE THIS PR |
srowen
commented
Aug 27, 2019
Yeah if it causes them to be in the assembly, then it's the right fix. It sort of should already be there, but the rules for transitive dependency resolution are complex. Making it compile-scope isn't strictly correct, but if it causes the resolution to work out, seems fine, and does little harm (we won't be writing code directly depending on it). |
dongjoon-hyun
commented
Aug 27, 2019
Ah, |
srowen
commented
Aug 27, 2019
I bet you will find it does not change the transitive dependencies as reported by Maven or SBT - it's already a runtime dependency. This was the reason to be suspicious that it's not the fix. But the fact that it's not in the assembly is the issue, and the reasons are arcane (maybe even a more general problem) about how the assembly plugin treats transitive dependencies of various scopes. We need not get into that here; if it resolves the issue it's OK as a patch. |
I updated the PR description. |
dongjoon-hyun
commented
Aug 27, 2019
I'll take a look once more. |
SparkQA
commented
Aug 27, 2019
Test build #109764 has finished for PR 25587 at commit
|
SparkQA
commented
Aug 27, 2019
Test build #109768 has finished for PR 25587 at commit
|
dongjoon-hyun
commented
Aug 27, 2019
Technically, the UT failures here are irrelevant to this PR. Especially, last two failures seems to be due to the new test suite flakiness. (#25567 (comment)) |
SparkQA
commented
Aug 27, 2019
Test build #4842 has finished for PR 25587 at commit
|
dongjoon-hyun
commented
Aug 27, 2019
This PR passed the Jenkins with JDK8 building and JDK11 testing. |
dongjoon-hyun
commented
Aug 27, 2019
After this PR, we can use Merged to master. Thank you all. |
HyukjinKwon
commented
Aug 27, 2019
This is nice! |
liangrui1988
commented
Aug 30, 2019
666 |
What changes were proposed in this pull request?
mllibhasjaxb-runtime-2.3.2as a runtime dependency. This PR makes it as a compile-time dependency. This doesn't change our dependency manifest andLICENSEs. Instead, this will add the following three jars into our pre-built artifacts.Why are the changes needed?
We need to use the followings.
com.sun.xml.internal.bind.v2.ContextFactorycom.sun.xml.bind.v2.ContextFactorycom.sun.xml.bind.v2.ContextFactoryis insidejaxb-runtime-2.3.2.Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the Jenkins with
test-java11.For manual testing, do the following with JDK11.