From c09599e3e0f0e5e71b3fe163721756705d27f13b Mon Sep 17 00:00:00 2001
From: laglangyue <373435126@qq.com>
Date: Tue, 18 Oct 2022 23:55:51 +0800
Subject: [PATCH] fix
---
.../connector-jdbc/pom.xml | 7 +++-
.../connector-jdbc-e2e/pom.xml | 5 +++
.../connectors/seatunnel/jdbc/JdbcDb2IT.java | 33 +++++++++----------
.../resources/jdbc_db2_source_and_sink.conf | 12 +++----
.../connector-jdbc-spark-e2e/pom.xml | 6 ----
5 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/seatunnel-connectors-v2/connector-jdbc/pom.xml b/seatunnel-connectors-v2/connector-jdbc/pom.xml
index bd22d6758ed6..ed706fa5819d 100644
--- a/seatunnel-connectors-v2/connector-jdbc/pom.xml
+++ b/seatunnel-connectors-v2/connector-jdbc/pom.xml
@@ -77,6 +77,12 @@
${oracle.version}
provided
+
+ com.ibm.db2.jcc
+ db2jcc
+ ${db2.version}
+ provided
+
@@ -112,7 +118,6 @@
com.ibm.db2.jcc
db2jcc
- ${db2.version}
diff --git a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/pom.xml b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/pom.xml
index 000ce2c49722..c383e0593cd7 100644
--- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/pom.xml
+++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/pom.xml
@@ -70,6 +70,11 @@
ojdbc8
test
+
+ com.ibm.db2.jcc
+ db2jcc
+ test
+
diff --git a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
index c43a92312cab..b4692b895a7c 100644
--- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
+++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/java/org/apache/seatunnel/connectors/seatunnel/jdbc/JdbcDb2IT.java
@@ -40,35 +40,36 @@ public class JdbcDb2IT extends TestSuiteBase implements TestResource {
* db2 in dockerhub
*/
private static final String IMAGE = "ibmcom/db2:latest";
- private static final String HOST = "spark_e2e_db2";
+ private static final String HOST = "e2e_db2";
private static final int PORT = 50000;
- private static final int LOCAL_PORT = 50000;
+ private static final int LOCAL_PORT = 50001;
private static final String USER = "DB2INST1";
private static final String PASSWORD = "123456";
private static final String DRIVER = "com.ibm.db2.jcc.DB2Driver";
- private static final String DATABASE = "testdb";
+ private static final String DATABASE = "E2E";
private static final String SOURCE_TABLE = "E2E_TABLE_SOURCE";
private static final String SINK_TABLE = "E2E_TABLE_SINK";
private String jdbcUrl;
- private GenericContainer> dbserver;
+ private GenericContainer> dbServer;
private Connection jdbcConnection;
@BeforeAll
@Override
public void startUp() throws Exception {
- dbserver = new GenericContainer<>(IMAGE)
- .withNetwork(TestContainer.NETWORK)
+ dbServer = new GenericContainer<>(IMAGE)
+ .withNetwork(NETWORK)
.withNetworkAliases(HOST)
.withPrivilegedMode(true)
.withLogConsumer(new Slf4jLogConsumer(LOG))
.withEnv("DB2INST1_PASSWORD", PASSWORD)
.withEnv("DBNAME", DATABASE)
.withEnv("LICENSE", "accept")
+ .withSharedMemorySize(4 * 1024 * 1024 * 1024L)
;
- dbserver.setPortBindings(Lists.newArrayList(String.format("%s:%s", LOCAL_PORT, PORT)));
- Startables.deepStart(Stream.of(dbserver)).join();
- jdbcUrl = String.format("jdbc:db2://%s:%s/%s", dbserver.getHost(), LOCAL_PORT, DATABASE);
+ dbServer.setPortBindings(Lists.newArrayList(String.format("%s:%s", LOCAL_PORT, PORT)));
+ Startables.deepStart(Stream.of(dbServer)).join();
+ jdbcUrl = String.format("jdbc:db2://%s:%s/%s", dbServer.getHost(), LOCAL_PORT, DATABASE);
LOG.info("DB2 container started");
given().ignoreExceptions()
.await()
@@ -82,8 +83,8 @@ public void tearDown() throws Exception {
if (jdbcConnection != null) {
jdbcConnection.close();
}
- if (dbserver != null) {
- dbserver.close();
+ if (dbServer != null) {
+ dbServer.close();
}
}
@@ -127,11 +128,7 @@ private void initializeJdbcTable() {
}
}
- private void assertHasData(String table) throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
- if(jdbcConnection.isValid(10)){
- initializeJdbcConnection();
- }
-
+ private void assertHasData(String table) {
try (Statement statement = jdbcConnection.createStatement()) {
String sql = String.format("select * from \"%s\".%s", USER, table);
ResultSet source = statement.executeQuery(sql);
@@ -142,13 +139,13 @@ private void assertHasData(String table) throws SQLException, ClassNotFoundExcep
}
@Test
- void pullImageOK() throws SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
+ void pullImageOK() {
assertHasData(SOURCE_TABLE);
}
@TestTemplate
@DisplayName("JDBC-Db2 end to end test")
- public void testJdbcSourceAndSink(TestContainer container) throws IOException, InterruptedException, SQLException, ClassNotFoundException, InstantiationException, IllegalAccessException {
+ public void testJdbcSourceAndSink(TestContainer container) throws IOException, InterruptedException {
assertHasData(SOURCE_TABLE);
Container.ExecResult execResult = container.executeJob("/jdbc_db2_source_and_sink.conf");
Assertions.assertEquals(0, execResult.getExitCode());
diff --git a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/resources/jdbc_db2_source_and_sink.conf b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/resources/jdbc_db2_source_and_sink.conf
index 829467bb4b0c..6a67a63fa840 100644
--- a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/resources/jdbc_db2_source_and_sink.conf
+++ b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/src/test/resources/jdbc_db2_source_and_sink.conf
@@ -24,9 +24,9 @@ source {
# This is a example source plugin **only for test and demonstrate the feature source plugin**
Jdbc {
driver = com.ibm.db2.jcc.DB2Driver
- url = "jdbc:db2://spark_e2e_db2:50000/testdb"
- user = DB2INST1
- password = 123456
+ url = "jdbc:db2://e2e_db2:50000/E2E"
+ user = "DB2INST1"
+ password = "123456"
query = """
select COL_BOOLEAN,
COL_INT,
@@ -65,9 +65,9 @@ transform {
sink {
Jdbc {
driver = com.ibm.db2.jcc.DB2Driver
- url = "jdbc:db2://spark_e2e_db2:50000/testdb"
- user = DB2INST1
- password = 123456
+ url = "jdbc:db2://e2e_db2:50000/E2E"
+ user = "DB2INST1"
+ password = "123456"
query = """
insert into "DB2INST1".E2E_TABLE_SINK(COL_BOOLEAN, COL_INT, COL_INTEGER, COL_SMALLINT, COL_BIGINT, COL_DECIMAL, COL_DEC,
COL_NUMERIC, COL_NUMBER, COL_REAL, COL_FLOAT,
diff --git a/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-jdbc-spark-e2e/pom.xml b/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-jdbc-spark-e2e/pom.xml
index cd86cbb81f79..a0cb7eeadc33 100644
--- a/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-jdbc-spark-e2e/pom.xml
+++ b/seatunnel-e2e/seatunnel-spark-connector-v2-e2e/connector-jdbc-spark-e2e/pom.xml
@@ -96,12 +96,6 @@
com.microsoft.sqlserver
mssql-jdbc
-
- com.ibm.db2.jcc
- db2jcc
- db2jcc4
- test
-
org.testcontainers