[SPARK-33104][BUILD] Exclude 'org.apache.hadoop:hadoop-yarn-server-resourcemanager:jar:tests'#30133
[SPARK-33104][BUILD] Exclude 'org.apache.hadoop:hadoop-yarn-server-resourcemanager:jar:tests'#30133HyukjinKwon wants to merge 2 commits intoapache:masterfrom
Conversation
|
cc @srowen, @dongjoon-hyun and @gemelen |
|
retest this please |
|
Thanks @srowen. I'll take a look if there are related test failures tomorrow although logically I think there'd not be because these were not pulled in before. |
|
Kubernetes integration test starting |
|
Thank you so much, @HyukjinKwon ! |
|
Kubernetes integration test starting |
dongjoon-hyun
left a comment
There was a problem hiding this comment.
+1, LGTM (Pending Jenkins).
I verified that this fixes SPARK-33104, too.
$ build/sbt "yarn/testOnly *.YarnClusterSuite -- -z SparkHadoopUtil" -Pyarn -Phadoop-2.7 -Phive -Phive-2.3
[info] YarnClusterSuite:
[info] - yarn-cluster should respect conf overrides in SparkHadoopUtil (SPARK-16414, SPARK-23630) (13 seconds, 216 milliseconds)
[info] ScalaTest
[info] Run completed in 31 seconds, 103 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 1, Failed 0, Errors 0, Passed 1
[success] Total time: 131 s (02:11), completed Oct 22, 2020 8:55:10 AM
|
Kubernetes integration test status success |
|
Kubernetes integration test status success |
This sounds exactly as a new behaviour of 'sbt-pom-reader' plugin of latest version. It could be corner case of scope/classifier clash of maven dependency that we are pulling via this plugin. |
|
Test build #130164 has finished for PR 30133 at commit
|
|
Retest this please |
|
Test build #130165 has finished for PR 30133 at commit
|
|
Kubernetes integration test starting |
|
Kubernetes integration test status success |
|
Test build #130169 has finished for PR 30133 at commit
|
|
Retest this please |
|
Kubernetes integration test starting |
|
Kubernetes integration test status failure |
|
Test build #130176 has finished for PR 30133 at commit
|
|
It seems the test failure in Yarn is related, although I don't know why yet. Also you may need to update dependency files. |
|
Will take another look for the test failures. |
4748abd to
00c8335
Compare
|
The GitHub Actions build looked legitimate. I only excluded this explicitly with Hadoop 2 which should be more correct. |
|
Ya. The additional commit looks better. Let's see the result. |
|
Kubernetes integration test starting |
|
Kubernetes integration test status success |
This comment has been minimized.
This comment has been minimized.
|
retest this please |
|
Kubernetes integration test starting |
|
Kubernetes integration test status success |
|
Test build #130193 has finished for PR 30133 at commit
|
|
Looks like all tests passed properly. I am going to merge. Thanks all for taking care of this PR. Merged to master. |
|
Thank you! |
|
Okay .. it finally starts to pass: https://amplab.cs.berkeley.edu/jenkins/job/spark-master-test-sbt-hadoop-2.7-hive-2.3/1454/ 👍 |
|
Sorry, guys. The original PR seems to exposes Apache Spark to HADOOP-16080 . We may need to revert this together.
We are searching all options.
|
|
Sure, thats fine. Thanks for taking care of this. |
What changes were proposed in this pull request?
This PR proposes to exclude
org.apache.hadoop:hadoop-yarn-server-resourcemanager:jar:testsfromhadoop-yarn-server-testswhen we use Hadoop 2 profile.For some reasons, after SBT 1.3 upgrade at SPARK-21708, SBT starts to pull the dependencies of 'hadoop-yarn-server-tests' with 'tests' classifier:
these were not pulled before the upgrade.
This specific
hadoop-yarn-server-resourcemanager-2.7.4-tests.jarcauses the problem (SPARK-33104)When the test case creates the Hadoop configuration here,
spark/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala
Line 122 in cc06266
Such jars above have higher precedence in the class path, instead of the specified custom
core-site.xmlin the test:spark/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala
Line 1375 in e93b8f0
Later,
core-site.xmlin the jar is picked instead in Hadoop'sConfiguration:Before this fix:
After this fix:
the
core-site.xmlin the jar of course does not contain:spark/resource-managers/yarn/src/test/scala/org/apache/spark/deploy/yarn/YarnClusterSuite.scala
Lines 133 to 141 in 2cfd215
and the specific test fails.
This PR uses some kind of hacky approach. It was excluded from 'hadoop-yarn-server-tests' with 'tests' classifier, and then added back as a proper dependency (when Hadoop 2 profile is used). In this way, SBT does not pull
hadoop-yarn-server-resourcemanagerwithtestsclassifier anymore.Why are the changes needed?
To make the build pass. This is a blocker.
Does this PR introduce any user-facing change?
No, test-only.
How was this patch tested?
Manually tested and debugged:
build/sbt clean "yarn/testOnly *.YarnClusterSuite -- -z SparkHadoopUtil" -Pyarn -Phadoop-2.7 -Phive -Phive-2.3