You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2024/05/08 05:36:14 UTC
(pulsar) branch master updated: [fix][admin] Fix deprecated check (#22653)
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 188355b2df0 [fix][admin] Fix deprecated check (#22653)
188355b2df0 is described below
commit 188355b2df08cafd9402e75baf1164ba4b44a052
Author: Zixuan Liu <no...@gmail.com>
AuthorDate: Wed May 8 13:36:08 2024 +0800
[fix][admin] Fix deprecated check (#22653)
Signed-off-by: Zixuan Liu <no...@gmail.com>
---
.../main/java/org/apache/pulsar/admin/cli/CmdSinks.java | 14 ++++++++++----
.../main/java/org/apache/pulsar/admin/cli/CmdSources.java | 15 ++++++++++-----
.../java/org/apache/pulsar/admin/cli/TestCmdSinks.java | 12 ++++++++++++
.../java/org/apache/pulsar/admin/cli/TestCmdSources.java | 13 +++++++++++++
4 files changed, 45 insertions(+), 9 deletions(-)
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
index be1cd0af960..a4fb047550d 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSinks.java
@@ -25,6 +25,7 @@ import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.annotations.VisibleForTesting;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
@@ -197,8 +198,8 @@ public class CmdSinks extends CmdBase {
}
}
- @Override
- public void runCmd() throws Exception {
+ @VisibleForTesting
+ List<String> getLocalRunArgs() throws Exception {
// merge deprecated args with new args
mergeArgs();
List<String> localRunArgs = new LinkedList<>();
@@ -206,7 +207,7 @@ public class CmdSinks extends CmdBase {
localRunArgs.add("--sinkConfig");
localRunArgs.add(new Gson().toJson(sinkConfig));
for (Field field : this.getClass().getDeclaredFields()) {
- if (field.getName().startsWith("DEPRECATED")) {
+ if (field.getName().toUpperCase().startsWith("DEPRECATED")) {
continue;
}
if (field.getName().contains("$")) {
@@ -218,7 +219,12 @@ public class CmdSinks extends CmdBase {
localRunArgs.add(value.toString());
}
}
- ProcessBuilder processBuilder = new ProcessBuilder(localRunArgs).inheritIO();
+ return localRunArgs;
+ }
+
+ @Override
+ public void runCmd() throws Exception {
+ ProcessBuilder processBuilder = new ProcessBuilder(getLocalRunArgs()).inheritIO();
Process process = processBuilder.start();
process.waitFor();
}
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
index e691d7c1267..c8af7ddd954 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdSources.java
@@ -25,6 +25,7 @@ import static org.apache.pulsar.common.naming.TopicName.PUBLIC_TENANT;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.annotations.VisibleForTesting;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
@@ -198,17 +199,16 @@ public class CmdSources extends CmdBase {
}
}
- @Override
- public void runCmd() throws Exception {
+ @VisibleForTesting
+ List<String> getLocalRunArgs() throws Exception {
// merge deprecated args with new args
mergeArgs();
-
List<String> localRunArgs = new LinkedList<>();
localRunArgs.add(System.getenv("PULSAR_HOME") + "/bin/function-localrunner");
localRunArgs.add("--sourceConfig");
localRunArgs.add(new Gson().toJson(sourceConfig));
for (Field field : this.getClass().getDeclaredFields()) {
- if (field.getName().startsWith("DEPRECATED")) {
+ if (field.getName().toUpperCase().startsWith("DEPRECATED")) {
continue;
}
if (field.getName().contains("$")) {
@@ -220,7 +220,12 @@ public class CmdSources extends CmdBase {
localRunArgs.add(value.toString());
}
}
- ProcessBuilder processBuilder = new ProcessBuilder(localRunArgs).inheritIO();
+ return localRunArgs;
+ }
+
+ @Override
+ public void runCmd() throws Exception {
+ ProcessBuilder processBuilder = new ProcessBuilder(getLocalRunArgs()).inheritIO();
Process process = processBuilder.start();
process.waitFor();
}
diff --git a/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSinks.java b/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSinks.java
index 6fbe3bc5da2..5885b60aef2 100644
--- a/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSinks.java
+++ b/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSinks.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertFalse;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import java.io.Closeable;
@@ -37,6 +38,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
+import org.apache.pulsar.admin.cli.CmdSinks.LocalSinkRunner;
import org.apache.pulsar.admin.cli.utils.CmdUtils;
import org.apache.pulsar.client.admin.PulsarAdmin;
import org.apache.pulsar.client.admin.Sinks;
@@ -808,4 +810,14 @@ public class TestCmdSinks {
Assert.assertEquals(config.get("float_string"), "1000.0");
Assert.assertEquals(config.get("created_at"), "Mon Jul 02 00:33:15 +0000 2018");
}
+
+ @Test
+ public void testExcludeDeprecatedOptions() throws Exception {
+ SinkConfig testSinkConfig = getSinkConfig();
+ LocalSinkRunner localSinkRunner = spy(new CmdSinks(() -> pulsarAdmin)).getLocalSinkRunner();
+ localSinkRunner.sinkConfig = testSinkConfig;
+ localSinkRunner.deprecatedBrokerServiceUrl = "pulsar://localhost:6650";
+ List<String> localRunArgs = localSinkRunner.getLocalRunArgs();
+ assertFalse(String.join(",", localRunArgs).contains("--deprecated"));
+ }
}
diff --git a/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSources.java b/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSources.java
index d96b0933d3f..576e63310c1 100644
--- a/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSources.java
+++ b/pulsar-client-tools/src/test/java/org/apache/pulsar/admin/cli/TestCmdSources.java
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
@@ -33,8 +34,10 @@ import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
+import java.util.List;
import java.util.Map;
import java.util.UUID;
+import org.apache.pulsar.admin.cli.CmdSources.LocalSourceRunner;
import org.apache.pulsar.admin.cli.utils.CmdUtils;
import org.apache.pulsar.client.admin.PulsarAdmin;
import org.apache.pulsar.client.admin.Sources;
@@ -680,4 +683,14 @@ public class TestCmdSources {
Assert.assertEquals(config.get("float_string"), "1000.0");
Assert.assertEquals(config.get("created_at"), "Mon Jul 02 00:33:15 +0000 2018");
}
+
+ @Test
+ public void testExcludeDeprecatedOptions() throws Exception {
+ SourceConfig testSinkConfig = getSourceConfig();
+ LocalSourceRunner localSourceRunner = spy(new CmdSources(() -> pulsarAdmin)).getLocalSourceRunner();
+ localSourceRunner.sourceConfig = testSinkConfig;
+ localSourceRunner.deprecatedBrokerServiceUrl = "pulsar://localhost:6650";
+ List<String> localRunArgs = localSourceRunner.getLocalRunArgs();
+ assertFalse(String.join(",", localRunArgs).contains("--deprecated"));
+ }
}