You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2022/09/21 05:36:36 UTC

[incubator-streampark] branch dev updated: [Bug] Fix the flink on k8s application build failed and savepointPath saved failed bug when use h2 as database (#1659)

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

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


The following commit(s) were added to refs/heads/dev by this push:
     new ae8216ed5 [Bug] Fix the flink on k8s application build failed and savepointPath saved failed bug when use h2 as database (#1659)
ae8216ed5 is described below

commit ae8216ed56decc0e09e93ea5352de01745d55760
Author: Gerry <33...@users.noreply.github.com>
AuthorDate: Wed Sep 21 13:36:30 2022 +0800

    [Bug] Fix the flink on k8s application build failed and savepointPath saved failed bug when use h2 as database (#1659)
    
    * [Bug]fix the flink on k8s application build failed and savepointPath save failed bug
    
    * [Bug] code optimization
---
 .../core/service/impl/SettingServiceImpl.java      | 52 +++++++++++-----------
 .../src/main/resources/db/schema-h2.sql            |  1 +
 2 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
index 393e1589d..87fb77076 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/SettingServiceImpl.java
@@ -27,21 +27,22 @@ import org.apache.streampark.console.core.service.SettingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.ApplicationListener;
+import org.springframework.context.event.ContextRefreshedEvent;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.PostConstruct;
-
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 
 @Slf4j
 @Service
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
 public class SettingServiceImpl extends ServiceImpl<SettingMapper, Setting>
-    implements SettingService {
+    implements SettingService, ApplicationListener<ContextRefreshedEvent> {
 
     @Override
     public Setting get(String key) {
@@ -50,10 +51,10 @@ public class SettingServiceImpl extends ServiceImpl<SettingMapper, Setting>
 
     private final Map<String, Setting> settings = new ConcurrentHashMap<>();
 
-    private final Setting defaultSetting = new Setting();
+    private final Setting emptySetting = new Setting();
 
-    @PostConstruct
-    public void initSetting() {
+    @Override
+    public void onApplicationEvent(ContextRefreshedEvent event) {
         List<Setting> settingList = super.list();
         settingList.forEach(x -> settings.put(x.getSettingKey(), x));
     }
@@ -61,27 +62,25 @@ public class SettingServiceImpl extends ServiceImpl<SettingMapper, Setting>
     @Override
     public boolean update(Setting setting) {
         try {
-            String value = setting.getSettingValue();
-            if (value != null) {
-                if (StringUtils.isEmpty(value.trim())) {
-                    value = null;
-                } else {
-                    value = setting.getSettingValue().trim();
-                }
-            }
+            String value = StringUtils.trimToNull(setting.getSettingValue());
             setting.setSettingValue(value);
             this.baseMapper.updateByKey(setting);
 
-            if (setting.getSettingKey().equals(CommonConfig.MAVEN_REMOTE_URL().key())) {
+            String settingKey = setting.getSettingKey();
+            if (CommonConfig.MAVEN_REMOTE_URL().key().equals(settingKey)) {
                 InternalConfigHolder.set(CommonConfig.MAVEN_REMOTE_URL(), value);
             }
-            if (setting.getSettingKey().equals(CommonConfig.MAVEN_AUTH_USER().key())) {
+            if (CommonConfig.MAVEN_AUTH_USER().key().equals(settingKey)) {
                 InternalConfigHolder.set(CommonConfig.MAVEN_AUTH_USER(), value);
             }
-            if (setting.getSettingKey().equals(CommonConfig.MAVEN_AUTH_PASSWORD().key())) {
+            if (CommonConfig.MAVEN_AUTH_PASSWORD().key().equals(settingKey)) {
                 InternalConfigHolder.set(CommonConfig.MAVEN_AUTH_PASSWORD(), value);
             }
-            settings.get(setting.getSettingKey()).setSettingValue(value);
+
+            Optional<Setting> optional = Optional.ofNullable(settings.get(setting.getSettingKey()));
+            if (optional.isPresent()) {
+                optional.get().setSettingValue(value);
+            }
             return true;
         } catch (Exception e) {
             return false;
@@ -114,42 +113,41 @@ public class SettingServiceImpl extends ServiceImpl<SettingMapper, Setting>
 
     @Override
     public String getDockerRegisterAddress() {
-        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_ADDRESS, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_ADDRESS, emptySetting).getSettingValue();
     }
 
     @Override
     public String getDockerRegisterUser() {
-        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_USER, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_USER, emptySetting).getSettingValue();
     }
 
     @Override
     public String getDockerRegisterPassword() {
-        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_PASSWORD, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_PASSWORD, emptySetting).getSettingValue();
     }
 
     @Override
     public String getDockerRegisterNamespace() {
-        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_NAMESPACE, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_DOCKER_REGISTER_NAMESPACE, emptySetting).getSettingValue();
     }
 
     @Override
     public String getStreamParkAddress() {
-        return settings.getOrDefault(SettingService.KEY_STREAMPARK_ADDRESS, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_STREAMPARK_ADDRESS, emptySetting).getSettingValue();
     }
 
     @Override
     public String getMavenRepository() {
-        return settings.getOrDefault(SettingService.KEY_MAVEN_REPOSITORY, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_MAVEN_REPOSITORY, emptySetting).getSettingValue();
     }
 
     @Override
     public String getMavenAuthUser() {
-        return settings.getOrDefault(SettingService.KEY_MAVEN_AUTH_USER, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_MAVEN_AUTH_USER, emptySetting).getSettingValue();
     }
 
     @Override
     public String getMavenAuthPassword() {
-        return settings.getOrDefault(SettingService.KEY_MAVEN_AUTH_PASSWORD, defaultSetting).getSettingValue();
+        return settings.getOrDefault(SettingService.KEY_MAVEN_AUTH_PASSWORD, emptySetting).getSettingValue();
     }
-
 }
diff --git a/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql b/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql
index ae4bd016d..c7ae5e2a7 100644
--- a/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql
+++ b/streampark-console/streampark-console-service/src/main/resources/db/schema-h2.sql
@@ -197,6 +197,7 @@ create table if not exists `t_flink_project` (
 create table if not exists `t_flink_savepoint` (
   `id` bigint generated by default as identity not null,
   `app_id` bigint not null,
+  `chk_id` bigint default null,
   `type` tinyint default null,
   `path` varchar(255)  default null,
   `latest` tinyint not null default 1,