Uh oh!
There was an error while loading. Please reload this page.
[SPARK-10521][SQL] Utilize Docker for test DB2 JDBC Dialect support - #9893
[SPARK-10521][SQL] Utilize Docker for test DB2 JDBC Dialect support#9893lresende wants to merge 14 commits into
Conversation
JoshRosen
commented
Nov 22, 2015
Jenkins, this is ok to test. |
SparkQA
commented
Nov 22, 2015
Test build #46496 has finished for PR 9893 at commit
|
lresende
commented
Dec 16, 2015
Jenkins, this is ok to test. |
SparkQA
commented
Dec 16, 2015
Test build #47866 has finished for PR 9893 at commit
|
lresende
commented
Dec 17, 2015
@JoshRosen , this is currently failing due to missing dependency, could you help add the DB2 jars on the jenkins slaves ? The directions is available in the pom.xml in the following commit : lresende@3772ea3 |
JoshRosen
commented
Jan 13, 2016
What's the licensing for the DB2 JARs? Could we publish them to Maven under the Spark project namespace? Just wondering if there's a way to avoid having to add this manual install. |
SparkQA
commented
Jan 15, 2016
Test build #49495 has finished for PR 9893 at commit
|
SparkQA
commented
Jan 18, 2016
Test build #49563 has finished for PR 9893 at commit
|
There was a problem hiding this comment.
you might want to check, this PR #10796 is reverting this exact line.
perhaps if you rebase to latest on master that you should have this test fixed
lresende
commented
Jan 22, 2016
@JoshRosen For this PR to work, there is a need to manually deploy the JDBC driver as described on the pom. This is similar to the requirement that in order to run these tests, people must have docker installed. As for deploying the driver into maven or something, I am trying to get that approved, but for now people can download the driver manually via the link described in the pom. As for running these, I have ran it on our Jenkins environment, and see the results of the DB2 Integration tests below. Could you please review this, help with the Jenkins slaves configuration, and merge so we can move forward with the rest of the DB2 dialect prs waiting on this. Db2IntegrationSuite: 16/01/22 12:26:58 INFO DefaultDockerClient: Starting container with Id: bc6620ff6e3c41521e48752164ded0290e4d97c30ce1c30d68436fa45ea6863c 16/01/22 12:27:05 INFO Db2IntegrationSuite: ===== TEST OUTPUT FOR o.a.s.sql.jdbc.Db2IntegrationSuite: 'Basic test' ===== 16/01/22 12:27:05 INFO SparkContext: Starting job: apply at Transformer.scala:22 ===== FINISHED o.a.s.sql.jdbc.Db2IntegrationSuite: 'Basic test' ===== 16/01/22 12:27:05 INFO Db2IntegrationSuite: ===== TEST OUTPUT FOR o.a.s.sql.jdbc.Db2IntegrationSuite: 'Numeric types' =====
16/01/22 12:27:06 INFO CodeGenerator: Code generated in 12.625054 ms ===== FINISHED o.a.s.sql.jdbc.Db2IntegrationSuite: 'Numeric types' =====
===== TEST OUTPUT FOR o.a.s.sql.jdbc.Db2IntegrationSuite: 'Date types' ===== 16/01/22 12:27:06 INFO SparkContext: Starting job: apply at Transformer.scala:22 16/01/22 12:27:07 INFO CodeGenerator: Code generated in 11.399165 ms ===== FINISHED o.a.s.sql.jdbc.Db2IntegrationSuite: 'Date types' =====
===== TEST OUTPUT FOR o.a.s.sql.jdbc.Db2IntegrationSuite: 'String types' ===== 16/01/22 12:27:07 INFO SparkContext: Starting job: apply at Transformer.scala:22 ===== FINISHED o.a.s.sql.jdbc.Db2IntegrationSuite: 'String types' =====
===== TEST OUTPUT FOR o.a.s.sql.jdbc.Db2IntegrationSuite: 'Basic write test' ===== 16/01/22 12:27:09 INFO SparkContext: Starting job: apply at Transformer.scala:22 16/01/22 12:27:10 INFO SparkContext: Starting job: apply at Transformer.scala:22 ===== FINISHED o.a.s.sql.jdbc.Db2IntegrationSuite: 'Basic write test' =====
16/01/22 12:27:16 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped! |
lresende
commented
Jan 22, 2016
Jenkins, this is ok to test. |
JoshRosen
commented
Jan 25, 2016
Getting this installed cluster-wide is going to be non-trivial: our CI process has separate Ivy caches for every build workspace, so the installation of the JDBC driver JAR isn't a one-time process but needs to be automated. Right now, we have the ability to just wipe out a build workspace in case its caches get corrupted, since everything will be reconstituted by fetching from Maven Central. As a result, I'd like to hold off on merging this until we get that driver JAR published to a public Maven repository or have some other means to allow SBT and Maven to automatically obtain it. One alternative approach would be to just check the DB2 JDBC JAR itself into the Spark repository; this isn't ideal, but AFAIK it's technically okay for us to have binary artifacts in our repo as long as their only for testing. I'm not sure whether IBM's licensing terms would permit this, though. |
lresende
commented
Jan 27, 2016
Jenkins, this is ok to test. |
SparkQA
commented
Jan 27, 2016
Test build #50214 has finished for PR 9893 at commit
|
There was a problem hiding this comment.
This this repository going to stay around indefinitely? I don't like depending on things which aren't in Maven Central since we've been bitten in the past by repositories changing artifacts, disappearing, or having uptime problems.
There was a problem hiding this comment.
This should be good for now. In parallel, I am working on getting an official ibm maven repo with these drivers, but it's a bureaucratic process.
SparkQA
commented
Jan 27, 2016
Test build #50222 has finished for PR 9893 at commit
|
SparkQA
commented
Jan 28, 2016
Test build #50247 has finished for PR 9893 at commit
|
SparkQA
commented
Jan 28, 2016
Test build #50249 has finished for PR 9893 at commit
|
SparkQA
commented
Apr 9, 2016
Test build #55408 has finished for PR 9893 at commit
|
The pom.xml was also updated with instructions on how to install the drivers on a local repository or directly into your own local cached maven.
Follow same password pattern as other db dialects to avoid warning about password containing parts of the username
DB2 requires a DB to be created via DB2 tools before a JDBC connectiion can be established
Upgrade docker-client to latest version that has support for passing ipcMode configuration to docker which will fix DB2 shared memory issues.
…machine The AMPLab jenkins slaves are not using the recommended level of Linux kernel and this is causing issues trying to use shared memory thus failing to start DB2 server
SparkQA
commented
Apr 9, 2016
Test build #55409 has finished for PR 9893 at commit
|
lresende
commented
Apr 9, 2016
Jenkins, retest this please. |
lresende
commented
Apr 9, 2016
@JoshRosen, thanks for reviewing, I agree with your proposal regarding the repository. Thanks. |
SparkQA
commented
Apr 9, 2016
Test build #55410 has finished for PR 9893 at commit
|
SparkQA
commented
Apr 9, 2016
Test build #55411 has finished for PR 9893 at commit
|
lresende
commented
Apr 9, 2016
@JoshRosen All good, style regression fixed, all tests passing. |
JoshRosen
commented
Apr 11, 2016
Jenkins, retest this please. |
JoshRosen
commented
Apr 11, 2016
Looks like this compiled and fetched dependencies properly, so I'm going to merge to master. Let's remember to re-enable these tests once we upgrade Jenkins' kernel. |
shaneknapp
commented
Apr 11, 2016
sounds good. i'm meeting w/the mesosphere guys thursday and this is a On Mon, Apr 11, 2016 at 4:41 PM, Josh Rosen notifications@github.com
|
SparkQA
commented
Apr 12, 2016
Test build #55542 has finished for PR 9893 at commit
|
Add integration tests based on docker to test DB2 JDBC dialect support