-
Notifications
You must be signed in to change notification settings - Fork 28.6k
[SPARK-33104][BUILD] Exclude 'org.apache.hadoop:hadoop-yarn-server-resourcemanager:jar:tests' #30133
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
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+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:tests
fromhadoop-yarn-server-tests
when 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.jar
causes 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.xml
in the test:spark/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala
Line 1375 in e93b8f0
Later,
core-site.xml
in the jar is picked instead in Hadoop'sConfiguration
:Before this fix:
After this fix:
the
core-site.xml
in 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-resourcemanager
withtests
classifier 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