-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-9818] Re-enable Docker tests for JDBC data source #9503
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 @marmbrus for review. |
|
Although the tests should automatically pull any missing Docker images, I went ahead and manually pulled them on all of the AMP Jenkins workers. This uncovered an issue where two of the workers' Docker filesystems had entered a safe mode that prevented image pulling, so I logged in and fixed that. |
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.
I always forget your can do this...
|
For posterity, is there any easy way to do the parallel pull if we upgrade one of the images or add a new one? |
|
Here's the command that I used: |
|
Tested this locally and other than needing to set |
|
Test build #1990 has finished for PR 9503 at commit
|
|
Test build #45145 has finished for PR 9503 at commit
|
|
Test build #1992 has finished for PR 9503 at commit
|
|
Test build #1991 has finished for PR 9503 at commit
|
sql/core/pom.xml
Outdated
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.
Woah, this is an ancient version of docker-client. I'll try using a newer release to see if that magically fixes the ASM issues.
|
Test build #45172 has finished for PR 9503 at commit
|
|
Test build #45176 has finished for PR 9503 at commit
|
|
Test build #45214 has finished for PR 9503 at commit
|
|
Test build #45215 has finished for PR 9503 at commit
|
|
Something really weird is going on here. Following the advice at http://stackoverflow.com/a/21876380/590203, I added the following line to When I run this locally with I get This doesn't make sense, though: I still don't see where that JAR is coming from. |
|
In fact, I used some of the handy classpath-debugging tools in JHades to dump more information and it looks like According to the Java 7 JAR specification (emphasis mine):
Assuming that "relative" means "relative to the JAR containing the manifest", I think that what's happening is that this is causing the What a giant mess. It looks like the |
|
I only reviewed the build changes, but they look good to me. |
|
I found this Manifest class-path issue to be extremely puzzling, but it looks like other people have hit it as well: https://dzone.com/articles/jar-manifest-class-path-is-not-for-java-applicatio Quote:
This puzzling behavior is described a bit more explicitly in Java 8's JAR specification. |
|
Test build #45495 has finished for PR 9503 at commit
|
|
Created https://tachyon.atlassian.net/browse/TACHYON-1254 for this; this will be worked around in Spark via my |
|
And just to be 100%-sure that it was the Tachyon manifests's fault, I used the following command to delete them and verified that doing so fixed the tests: |
|
Jenkins, retest this please. |
|
Test build #45536 has finished for PR 9503 at commit
|
|
Looks like a flaky streaming test? Jenkins, retest this please. |
|
Test build #2030 has finished for PR 9503 at commit
|
|
I'm merging this. Thanks. |
This patch re-enables tests for the Docker JDBC data source. These tests were reverted in #4872 due to transitive dependency conflicts introduced by the `docker-client` library. This patch should avoid those problems by using a version of `docker-client` which shades its transitive dependencies and by performing some build-magic to work around problems with that shaded JAR. In addition, I significantly refactored the tests to simplify the setup and teardown code and to fix several Docker networking issues which caused problems when running in `boot2docker`. Closes #8101. Author: Josh Rosen <[email protected]> Author: Yijie Shen <[email protected]> Closes #9503 from JoshRosen/docker-jdbc-tests. (cherry picked from commit 1dde39d) Signed-off-by: Reynold Xin <[email protected]>
|
|
Similar failure with both |
|
Maybe the docker daemon didn't get started / restarted on a subset of the machines? |
|
Should MySQLIntegrationSuite be disabled since the test failure is reproducible ? |
|
If you don't have Docker set up locally, you can use the |
|
The backward compatibility reports for Jersey* libraries are now available in the API Tracker project: https://abi-laboratory.pro/java/tracker/timeline/jersey-core/ The JAPICC tool detected some servlet related changes in jersey-core 1.10: |
|
Adding following for better visibility. The problem while using The solution is to use libraryDependencies += "com.spotify" % "docker-client" % "8.11.3" classifier "shaded" |
This patch re-enables tests for the Docker JDBC data source. These tests were reverted in #4872 due to transitive dependency conflicts introduced by the
docker-clientlibrary. This patch should avoid those problems by using a version ofdocker-clientwhich shades its transitive dependencies and by performing some build-magic to work around problems with that shaded JAR.In addition, I significantly refactored the tests to simplify the setup and teardown code and to fix several Docker networking issues which caused problems when running in
boot2docker.Closes #8101.