This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 1cf40e1  fix sqoop task jdbc string contains special char (#4105)
1cf40e1 is described below

commit 1cf40e1d1e4379e6b50a92871987d59291ccfd50
Author: Yelli <[email protected]>
AuthorDate: Fri Nov 27 09:46:23 2020 +0800

    fix sqoop task jdbc string contains special char (#4105)
---
 .../worker/task/sqoop/generator/sources/MysqlSourceGenerator.java | 2 +-
 .../worker/task/sqoop/generator/targets/MysqlTargetGenerator.java | 2 +-
 .../dolphinscheduler/server/worker/task/sqoop/SqoopTaskTest.java  | 8 ++++----
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/sources/MysqlSourceGenerator.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/sources/MysqlSourceGenerator.java
index 63738c8..58e508a 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/sources/MysqlSourceGenerator.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/sources/MysqlSourceGenerator.java
@@ -60,7 +60,7 @@ public class MysqlSourceGenerator implements ISourceGenerator 
{
                 if (null != baseDataSource) {
 
                     
mysqlSourceSb.append(Constants.SPACE).append(SqoopConstants.DB_CONNECT)
-                        
.append(Constants.SPACE).append(baseDataSource.getJdbcUrl())
+                        
.append(Constants.SPACE).append(Constants.DOUBLE_QUOTES).append(baseDataSource.getJdbcUrl()).append(Constants.DOUBLE_QUOTES)
                         
.append(Constants.SPACE).append(SqoopConstants.DB_USERNAME)
                         
.append(Constants.SPACE).append(baseDataSource.getUser())
                         .append(Constants.SPACE).append(SqoopConstants.DB_PWD)
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/targets/MysqlTargetGenerator.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/targets/MysqlTargetGenerator.java
index b8a32da..4384c96 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/targets/MysqlTargetGenerator.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sqoop/generator/targets/MysqlTargetGenerator.java
@@ -60,7 +60,7 @@ public class MysqlTargetGenerator implements ITargetGenerator 
{
                 if (null != baseDataSource) {
 
                     
mysqlTargetSb.append(Constants.SPACE).append(SqoopConstants.DB_CONNECT)
-                        
.append(Constants.SPACE).append(baseDataSource.getJdbcUrl())
+                        
.append(Constants.SPACE).append(Constants.DOUBLE_QUOTES).append(baseDataSource.getJdbcUrl()).append(Constants.DOUBLE_QUOTES)
                         
.append(Constants.SPACE).append(SqoopConstants.DB_USERNAME)
                         
.append(Constants.SPACE).append(baseDataSource.getUser())
                         .append(Constants.SPACE).append(SqoopConstants.DB_PWD)
diff --git 
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/task/sqoop/SqoopTaskTest.java
 
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/task/sqoop/SqoopTaskTest.java
index f187617..fcf15d6 100644
--- 
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/task/sqoop/SqoopTaskTest.java
+++ 
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/worker/task/sqoop/SqoopTaskTest.java
@@ -97,7 +97,7 @@ public class SqoopTaskTest {
         SqoopJobGenerator generator = new SqoopJobGenerator();
         String mysqlToHdfsScript = 
generator.generateSqoopJob(mysqlToHdfsParams, mysqlTaskExecutionContext);
         String mysqlToHdfsExpected =
-            "sqoop import -D mapred.job.name=sqoop_import -D 
mapreduce.map.memory.mb=4096 --direct  -m 1 --connect 
jdbc:mysql://192.168.0.111:3306/test "
+            "sqoop import -D mapred.job.name=sqoop_import -D 
mapreduce.map.memory.mb=4096 --direct  -m 1 --connect 
\"jdbc:mysql://192.168.0.111:3306/test\" "
                 + "--username kylo --password \"123456\" --table person_2 
--target-dir /ods/tmp/test/person7 --as-textfile "
                 + "--delete-target-dir --fields-terminated-by '@' 
--lines-terminated-by '\\n' --null-non-string 'NULL' --null-string 'NULL'";
         Assert.assertEquals(mysqlToHdfsExpected, mysqlToHdfsScript);
@@ -111,7 +111,7 @@ public class SqoopTaskTest {
         SqoopParameters hdfsToMysqlParams = JSONUtils.parseObject(hdfsToMysql, 
SqoopParameters.class);
         String hdfsToMysqlScript = 
generator.generateSqoopJob(hdfsToMysqlParams, mysqlTaskExecutionContext);
         String hdfsToMysqlScriptExpected =
-            "sqoop export -D mapred.job.name=sqoop_import -m 1 --export-dir 
/ods/tmp/test/person7 --connect jdbc:mysql://192.168.0.111:3306/test "
+            "sqoop export -D mapred.job.name=sqoop_import -m 1 --export-dir 
/ods/tmp/test/person7 --connect \"jdbc:mysql://192.168.0.111:3306/test\" "
                 + "--username kylo --password \"123456\" --table person_3 
--columns id,name,age,sex,create_time --fields-terminated-by '@' "
                 + "--lines-terminated-by '\\n' --update-key id --update-mode 
allowinsert";
         Assert.assertEquals(hdfsToMysqlScriptExpected, hdfsToMysqlScript);
@@ -128,7 +128,7 @@ public class SqoopTaskTest {
         String hiveToMysqlScript = 
generator.generateSqoopJob(hiveToMysqlParams, mysqlTaskExecutionContext);
         String hiveToMysqlExpected =
             "sqoop export -D mapred.job.name=sqoop_import -m 1 
--hcatalog-database stg --hcatalog-table person_internal 
--hcatalog-partition-keys date "
-                + "--hcatalog-partition-values 2020-02-17 --connect 
jdbc:mysql://192.168.0.111:3306/test --username kylo --password \"123456\" 
--table person_3 "
+                + "--hcatalog-partition-values 2020-02-17 --connect 
\"jdbc:mysql://192.168.0.111:3306/test\" --username kylo --password \"123456\" 
--table person_3 "
                 + "--fields-terminated-by '@' --lines-terminated-by '\\n'";
         Assert.assertEquals(hiveToMysqlExpected, hiveToMysqlScript);
 
@@ -143,7 +143,7 @@ public class SqoopTaskTest {
         SqoopParameters mysqlToHiveParams = JSONUtils.parseObject(mysqlToHive, 
SqoopParameters.class);
         String mysqlToHiveScript = 
generator.generateSqoopJob(mysqlToHiveParams, mysqlTaskExecutionContext);
         String mysqlToHiveExpected =
-            "sqoop import -D mapred.job.name=sqoop_import -m 1 --connect 
jdbc:mysql://192.168.0.111:3306/test --username kylo --password \"123456\" "
+            "sqoop import -D mapred.job.name=sqoop_import -m 1 --connect 
\"jdbc:mysql://192.168.0.111:3306/test\" --username kylo --password \"123456\" "
                 + "--query \"SELECT * FROM person_2 WHERE \\$CONDITIONS\" 
--map-column-java id=Integer --hive-import --hive-table stg.person_internal_2 "
                 + "--create-hive-table --hive-overwrite --delete-target-dir 
--hive-partition-key date --hive-partition-value 2020-02-16";
         Assert.assertEquals(mysqlToHiveExpected, mysqlToHiveScript);

Reply via email to