You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by ca...@apache.org on 2023/03/17 11:06:26 UTC

[linkis] branch dev-1.3.2 updated: fix some bug (#4378)

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

casion pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new 3ba90e49e fix some bug (#4378)
3ba90e49e is described below

commit 3ba90e49e3e021ac7e62b5d773e5dcff86778e31
Author: aiceflower <ki...@gmail.com>
AuthorDate: Fri Mar 17 19:06:18 2023 +0800

    fix some bug (#4378)
    
    * add mongodb datasource compile
    
    * fix jdbc url format error
    
    * remove presto datasource
    
    * add shell parallel configuration
    
    * compile error
    
    * update mongodb 分类
    
    ---------
    
    Co-authored-by: aiceflower <ki...@sina.com>
---
 linkis-dist/package/db/linkis_dml.sql              |  4 +-
 .../db/upgrade/1.3.2_schema/mysql/linkis_dml.sql   |  1 -
 .../engineplugin/jdbc/utils/JdbcParamUtils.java    |  2 +-
 .../jdbc/utils/JdbcParamUtilsTest.java             | 68 ++++++++++++++++++++++
 .../resources/conf/linkis-engineconn.properties    |  4 +-
 .../server/src/main/assembly/distribution.xml      | 11 ++++
 6 files changed, 85 insertions(+), 5 deletions(-)

diff --git a/linkis-dist/package/db/linkis_dml.sql b/linkis-dist/package/db/linkis_dml.sql
index 7df48a393..dffa9a7d7 100644
--- a/linkis-dist/package/db/linkis_dml.sql
+++ b/linkis-dist/package/db/linkis_dml.sql
@@ -541,6 +541,7 @@ INSERT INTO `linkis_mg_gateway_auth_token`(`token_name`,`legal_users`,`legal_hos
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('kafka', 'kafka', 'kafka', '消息队列', '', 2);
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('hive', 'hive数据库', 'hive', '大数据存储', '', 3);
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('elasticsearch','elasticsearch数据源','es无结构化存储','分布式全文索引','',3);
+INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('mongodb', 'mongodb', 'NoSQL文档存储', 'NoSQL', NULL, 3);
 
 -- jdbc
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('mysql', 'mysql数据库', 'mysql数据库', '关系型数据库', '', 3);
@@ -553,8 +554,7 @@ INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `cl
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('greenplum','greenplum数据库','greenplum','关系型数据库','',3);
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('doris','doris数据库','doris','olap','',4);
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('clickhouse','clickhouse数据库','clickhouse','olap','',4);
-INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('mongodb', 'default', 'default', 'DEFAULT', NULL, 3);
-INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('presto', 'presto SQL', 'presto', '大数据存储', '', 3);
+
 
 select @data_source_type_id := id from `linkis_ps_dm_datasource_type` where `name` = 'mongodb';
 INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, `name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, `description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, `data_source`, `update_time`, `create_time`) VALUES (@data_source_type_id, 'username', '用户名', 'Username', NULL, 'TEXT', NULL, 1, '用户名', 'Username', '^[0-9A-Za-z_-]+$', NULL, '', NULL, now(), now());
diff --git a/linkis-dist/package/db/upgrade/1.3.2_schema/mysql/linkis_dml.sql b/linkis-dist/package/db/upgrade/1.3.2_schema/mysql/linkis_dml.sql
index c28bd099b..ea07c3ee3 100644
--- a/linkis-dist/package/db/upgrade/1.3.2_schema/mysql/linkis_dml.sql
+++ b/linkis-dist/package/db/upgrade/1.3.2_schema/mysql/linkis_dml.sql
@@ -291,7 +291,6 @@ INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, `n
 
 
 INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('mongodb', 'default', 'default', 'DEFAULT', NULL, 3);
-INSERT INTO `linkis_ps_dm_datasource_type` (`name`, `description`, `option`, `classifier`, `icon`, `layers`) VALUES ('presto', 'presto SQL', 'presto', '大数据存储', '', 3);
 
 select @data_source_type_id := id from `linkis_ps_dm_datasource_type` where `name` = 'mongodb';
 INSERT INTO `linkis_ps_dm_datasource_type_key` (`data_source_type_id`, `key`, `name`, `name_en`, `default_value`, `value_type`, `scope`, `require`, `description`, `description_en`, `value_regex`, `ref_id`, `ref_value`, `data_source`, `update_time`, `create_time`) VALUES (@data_source_type_id, 'username', '用户名', 'Username', NULL, 'TEXT', NULL, 1, '用户名', 'Username', '^[0-9A-Za-z_-]+$', NULL, '', NULL, now(), now());
diff --git a/linkis-engineconn-plugins/jdbc/src/main/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtils.java b/linkis-engineconn-plugins/jdbc/src/main/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtils.java
index 40e6a2ae9..d4ddee737 100644
--- a/linkis-engineconn-plugins/jdbc/src/main/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtils.java
+++ b/linkis-engineconn-plugins/jdbc/src/main/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtils.java
@@ -35,7 +35,7 @@ import static org.apache.linkis.manager.engineplugin.jdbc.errorcode.JDBCErrorCod
 
 public class JdbcParamUtils {
   private static final Logger LOG = LoggerFactory.getLogger(JdbcParamUtils.class);
-  private static final String JDBC_MATCH_REGEX = "jdbc:\\w+://\\S+:[0-9]{2,6}(/\\S*)?";
+  private static final String JDBC_MATCH_REGEX = "jdbc:\\w+://\\S+:[0-9]{2,6}(/\\S*)?(\\?\\S*)?";
   private static final String JDBC_H2_PROTOCOL = "jdbc:h2";
 
   private static final String JDBC_MYSQL_PROTOCOL = "jdbc:mysql";
diff --git a/linkis-engineconn-plugins/jdbc/src/test/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtilsTest.java b/linkis-engineconn-plugins/jdbc/src/test/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtilsTest.java
index 26d7ed424..701f94eff 100644
--- a/linkis-engineconn-plugins/jdbc/src/test/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtilsTest.java
+++ b/linkis-engineconn-plugins/jdbc/src/test/java/org/apache/linkis/manager/engineplugin/jdbc/utils/JdbcParamUtilsTest.java
@@ -85,6 +85,74 @@ public class JdbcParamUtilsTest {
         });
   }
 
+  @Test
+  @DisplayName("testValidateJdbcUrl")
+  public void testValidateJdbcUrl() {
+    AtomicReference<String> ar = new AtomicReference<>();
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000/abc?p1=v1&p2=v2");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000/?p1=v1&p2=v2");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000?p1=v1&p2=v2");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000/abc?");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000/abc");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000/");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // true
+    ar.set("jdbc:mysql://127.0.0.1:10000/?v1=v2");
+    Assertions.assertDoesNotThrow(
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // false
+    ar.set("jdbc:mysql://127.0.0.1:10000000/?v1=v2");
+    Assertions.assertThrows(
+        IllegalArgumentException.class,
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+    // false
+    ar.set("jdbc:mysql://127.0.0.1:10000ab/?v1=v2");
+    Assertions.assertThrows(
+        IllegalArgumentException.class,
+        () -> {
+          JdbcParamUtils.validateJdbcUrl(ar.get());
+        });
+  }
+
   @Test
   @DisplayName("testGetJdbcUsername")
   public void testGetJdbcUsername() throws JDBCParamsIllegalException {
diff --git a/linkis-engineconn-plugins/shell/src/main/resources/conf/linkis-engineconn.properties b/linkis-engineconn-plugins/shell/src/main/resources/conf/linkis-engineconn.properties
index 3233e537b..dad0da1c4 100644
--- a/linkis-engineconn-plugins/shell/src/main/resources/conf/linkis-engineconn.properties
+++ b/linkis-engineconn-plugins/shell/src/main/resources/conf/linkis-engineconn.properties
@@ -17,4 +17,6 @@
 wds.linkis.server.version=v1
 wds.linkis.engineconn.plugin.default.class=org.apache.linkis.manager.engineplugin.shell.ShellEngineConnPlugin
 wds.linkis.engineconn.max.free.time=30m
-wds.linkis.engineconn.log.list.count=50
\ No newline at end of file
+wds.linkis.engineconn.log.list.count=50
+wds.linkis.engineconn.support.parallelism=true
+linkis.engineconn.shell.concurrent.limit=15
\ No newline at end of file
diff --git a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
index 2cb928fb9..e0d152d64 100644
--- a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
+++ b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/assembly/distribution.xml
@@ -95,6 +95,17 @@
                 <exclude>*-javadoc.jar</exclude>
             </excludes>
         </fileSet>
+        <fileSet>
+            <directory>${basedir}/../service/mongodb/target/out/lib</directory>
+            <fileMode>0755</fileMode>
+            <outputDirectory>lib/service/mongodb</outputDirectory>
+            <includes>
+                <include>*.jar</include>
+            </includes>
+            <excludes>
+                <exclude>*-javadoc.jar</exclude>
+            </excludes>
+        </fileSet>
     </fileSets>
 
 </assembly>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org