Uh oh!
There was an error while loading. Please reload this page.
[SPARK-28765][BUILD] Add explict exclusions to avoid JDK11 dependency issue - #25481
[SPARK-28765][BUILD] Add explict exclusions to avoid JDK11 dependency issue#25481dongjoon-hyun wants to merge 2 commits into
Conversation
dongjoon-hyun
commented
Aug 17, 2019
cc @srowen , @HyukjinKwon , @wangyum . |
SparkQA
commented
Aug 17, 2019
Test build #109260 has finished for PR 25481 at commit
|
wangyum
commented
Aug 17, 2019
Is it safe? <profile>
<id>jdk11+</id>
<activation>
<jdk>[11,)</jdk>
</activation>
<dependencies>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-osgi</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</profile>https://github.com/eclipse-ee4j/jersey/blob/2.29/core-server/pom.xml#L229-L245 |
dongjoon-hyun
commented
Aug 17, 2019
Oh, thank you for the pointer, @wangyum . I only checked only https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server/2.29 before. I'll take a look at that. |
HyukjinKwon
commented
Aug 17, 2019
I think it's generally fine if the tests we run pass though. |
dongjoon-hyun
commented
Aug 17, 2019
If we don't use that, yes it is. For now, it seems that this situation is designed like this. In worst case, it seems that we end up with having manifest per JDK. And, pre-built artifacts per JDK How do you think about this situation? @srowen ? |
dongjoon-hyun
commented
Aug 17, 2019
For now, I'll close this PR. Thank you for review, @HyukjinKwon and @wangyum . |
HyukjinKwon
commented
Aug 17, 2019
Given the test, this PR still looks good to me. |
SparkQA
commented
Aug 17, 2019
Test build #109277 has finished for PR 25481 at commit
|
SparkQA
commented
Aug 17, 2019
Test build #109276 has finished for PR 25481 at commit
|
srowen
commented
Aug 17, 2019
Well the other solution is to explicitly include these additional libraries as a This approach is also OK if they really aren't used given how Jersey is used in Spark, but do we know that? Java 9 kicked out the JAXB libraries from the JDK, so it's possible they are there on purpose. The Java 8 PR builder here passes of course. If it has been manually checked against JDK 11 and tests work, I'm OK with it. We'd know soon if it doesn't, assuming the JDK 11 Jenkins job is in operation. If it fails I think we'd fall back to the other approach above. Anyway, I'm OK with it if there's any evidence it works on JDK 11, otherwise, might suggest adding the dependencies instead. |
HyukjinKwon
commented
Aug 17, 2019
It was tested against JDK 11 at #25443 (comment) but yes explicitly including sounds fine to me too |
srowen
commented
Aug 17, 2019
I'm OK with it then. |
dongjoon-hyun
commented
Aug 17, 2019
Then, thank you, @srowen , @HyukjinKwon , @wangyum . |
What changes were proposed in this pull request?
This PR adds explicit exclusions to avoid Maven
JDK11dependency issues.Why are the changes needed?
Maven/Ivy seems to be confused during dependency generation on
JDK11environment.This is not only wrong, but also causes a Jenkins failure during dependency manifest check on
JDK11environment.JDK8
JDK11
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Do the following in both
JDK8andJDK11environment. The dependency manifest should not be changed. In the currentmasterbranch,JDK11changes the dependency manifest.