You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2023/09/22 14:57:46 UTC

[streampipes] branch 1956-npe-in-consulconfigmigration updated: fix(#1956): Check Pulsar URL in consul migration runner

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

riemer pushed a commit to branch 1956-npe-in-consulconfigmigration
in repository https://gitbox.apache.org/repos/asf/streampipes.git


The following commit(s) were added to refs/heads/1956-npe-in-consulconfigmigration by this push:
     new b3751df5a fix(#1956): Check Pulsar URL in consul migration runner
b3751df5a is described below

commit b3751df5a5741d34de1154e09940ac915c8261ca
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Fri Sep 22 16:57:14 2023 +0200

    fix(#1956): Check Pulsar URL in consul migration runner
---
 .../service/core/migrations/v093/ConsulConfigMigration.java | 13 +++++++++++--
 .../org/apache/streampipes/svcdiscovery/api/SpConfig.java   |  2 ++
 .../streampipes/svcdiscovery/consul/ConsulSpConfig.java     |  7 ++++++-
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/ConsulConfigMigration.java b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/ConsulConfigMigration.java
index 899c9a5ca..5da0d0bef 100644
--- a/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/ConsulConfigMigration.java
+++ b/streampipes-service-core/src/main/java/org/apache/streampipes/service/core/migrations/v093/ConsulConfigMigration.java
@@ -19,10 +19,13 @@
 package org.apache.streampipes.service.core.migrations.v093;
 
 import org.apache.streampipes.config.backend.BackendConfig;
+import org.apache.streampipes.config.backend.BackendConfigKeys;
+import org.apache.streampipes.model.configuration.DefaultMessagingSettings;
 import org.apache.streampipes.model.configuration.SpCoreConfiguration;
 import org.apache.streampipes.service.core.migrations.Migration;
 import org.apache.streampipes.storage.api.ISpCoreConfigurationStorage;
 import org.apache.streampipes.storage.management.StorageDispatcher;
+import org.apache.streampipes.svcdiscovery.SpServiceDiscovery;
 
 public class ConsulConfigMigration implements Migration {
 
@@ -34,7 +37,7 @@ public class ConsulConfigMigration implements Migration {
 
   @Override
   public boolean shouldExecute() {
-    return storage.getAll().size() == 0;
+    return storage.getAll().isEmpty();
   }
 
   @Override
@@ -42,6 +45,12 @@ public class ConsulConfigMigration implements Migration {
     var currConf = BackendConfig.INSTANCE;
     var newConf = new SpCoreConfiguration();
 
+    var pulsarUrlExists = SpServiceDiscovery
+        .getSpConfig("backend")
+        .exists(BackendConfigKeys.PULSAR_URL);
+
+    var pulsarUrl = pulsarUrlExists ? currConf.getPulsarUrl() : new DefaultMessagingSettings().make().getPulsarUrl();
+
     var messagingSettings = currConf.getMessagingSettings();
     newConf.setLocalAuthConfig(currConf.getLocalAuthConfig());
     newConf.setEmailConfig(currConf.getEmailConfig());
@@ -55,7 +64,7 @@ public class ConsulConfigMigration implements Migration {
     messagingSettings.setNatsPort(currConf.getNatsPort());
     messagingSettings.setKafkaHost(currConf.getKafkaHost());
     messagingSettings.setKafkaPort(currConf.getKafkaPort());
-    messagingSettings.setPulsarUrl(currConf.getPulsarUrl());
+    messagingSettings.setPulsarUrl(pulsarUrl);
     messagingSettings.setZookeeperHost(currConf.getZookeeperHost());
     messagingSettings.setZookeeperPort(currConf.getZookeeperPort());
     newConf.setAssetDir(currConf.getAssetDir());
diff --git a/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/SpConfig.java b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/SpConfig.java
index e6b0f8fcf..6ba4a2acd 100644
--- a/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/SpConfig.java
+++ b/streampipes-service-discovery-api/src/main/java/org/apache/streampipes/svcdiscovery/api/SpConfig.java
@@ -47,6 +47,8 @@ public interface SpConfig {
 
   String getString(String key);
 
+  boolean exists(String key);
+
   <T> T getObject(String key, Class<T> clazz, T defaultValue);
 
   ConfigItem getConfigItem(String key);
diff --git a/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulSpConfig.java b/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulSpConfig.java
index ad67689c8..48b3a93ed 100644
--- a/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulSpConfig.java
+++ b/streampipes-service-discovery-consul/src/main/java/org/apache/streampipes/svcdiscovery/consul/ConsulSpConfig.java
@@ -135,6 +135,12 @@ public class ConsulSpConfig extends AbstractConsulService implements SpConfig {
     return getConfigItem(key).getValue();
   }
 
+  @Override
+  public boolean exists(String key) {
+    var os = kvClient.getKVValue(addSn(key)).getValue();
+    return os != null;
+  }
+
   @Override
   public <T> T getObject(String key, Class<T> clazz, T defaultValue) {
     var os = kvClient.getKVValue(addSn(key));
@@ -153,7 +159,6 @@ public class ConsulSpConfig extends AbstractConsulService implements SpConfig {
   @Override
   public ConfigItem getConfigItem(String key) {
     var os = kvClient.getKVValue(addSn(key)).getValue();
-
     return fromJson(os.getDecodedValue());
   }