You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/07/29 12:47:20 UTC
[pulsar] branch master updated: [Pulsar Admin CLI Tool] Use NoSplitter for subscription properties (#16862)
This is an automated email from the ASF dual-hosted git repository.
penghui 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 da5658c872a [Pulsar Admin CLI Tool] Use NoSplitter for subscription properties (#16862)
da5658c872a is described below
commit da5658c872a42b4bfbaba84432119ac6290ba59e
Author: Michael Marshall <mm...@apache.org>
AuthorDate: Fri Jul 29 07:47:13 2022 -0500
[Pulsar Admin CLI Tool] Use NoSplitter for subscription properties (#16862)
---
.../java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java | 9 ++++++---
.../java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java | 3 ++-
.../src/main/java/org/apache/pulsar/admin/cli/CmdTopics.java | 5 +++--
3 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
index 6fd2efc31d9..79865fae759 100644
--- a/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
+++ b/pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/PulsarAdminToolTest.java
@@ -1483,9 +1483,10 @@ public class PulsarAdminToolTest {
// jcommander is stateful, you cannot parse the same command twice
cmdTopics = new CmdTopics(() -> admin);
- cmdTopics.run(split("create-subscription persistent://myprop/clust/ns1/ds1 -s sub1 --messageId earliest --property a=b"));
+ cmdTopics.run(split("create-subscription persistent://myprop/clust/ns1/ds1 -s sub1 --messageId earliest --property a=b -p x=y,z"));
Map<String, String> props = new HashMap<>();
props.put("a", "b");
+ props.put("x", "y,z");
verify(mockTopics).createSubscription("persistent://myprop/clust/ns1/ds1", "sub1", MessageId.earliest, false, props);
cmdTopics = new CmdTopics(() -> admin);
@@ -1504,7 +1505,8 @@ public class PulsarAdminToolTest {
props = new HashMap<>();
props.put("a", "b");
props.put("c", "d");
- cmdTopics.run(split("update-subscription-properties persistent://myprop/clust/ns1/ds1 -s sub1 -p a=b -p c=d"));
+ props.put("x", "y,z");
+ cmdTopics.run(split("update-subscription-properties persistent://myprop/clust/ns1/ds1 -s sub1 -p a=b -p c=d -p x=y,z"));
verify(mockTopics).updateSubscriptionProperties("persistent://myprop/clust/ns1/ds1", "sub1", props);
cmdTopics.run(split("create-partitioned-topic persistent://myprop/clust/ns1/ds1 --partitions 32"));
@@ -1900,10 +1902,11 @@ public class PulsarAdminToolTest {
topics.run(split("expire-messages-all-subscriptions persistent://myprop/clust/ns1/ds1 -t 100"));
verify(mockTopics).expireMessagesForAllSubscriptions("persistent://myprop/clust/ns1/ds1", 100);
- topics.run(split("create-subscription persistent://myprop/clust/ns1/ds1 -s sub1 --messageId earliest -p a=b --property c=d"));
+ topics.run(split("create-subscription persistent://myprop/clust/ns1/ds1 -s sub1 --messageId earliest -p a=b --property c=d -p x=y,z"));
Map<String, String> props = new HashMap<>();
props.put("a", "b");
props.put("c", "d");
+ props.put("x", "y,z");
verify(mockTopics).createSubscription("persistent://myprop/clust/ns1/ds1", "sub1", MessageId.earliest, false, props);
// jcommander is stateful, you cannot parse the same command twice
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
index 8a36a5615b5..8e3683ac861 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdPersistentTopics.java
@@ -38,6 +38,7 @@ import org.apache.pulsar.client.admin.PulsarAdminException;
import org.apache.pulsar.client.admin.Topics;
import org.apache.pulsar.client.api.Message;
import org.apache.pulsar.client.api.MessageId;
+import org.apache.pulsar.client.cli.NoSplitter;
import org.apache.pulsar.client.impl.BatchMessageIdImpl;
import org.apache.pulsar.client.impl.MessageIdImpl;
import org.apache.pulsar.common.util.RelativeTimeUtil;
@@ -510,7 +511,7 @@ public class CmdPersistentTopics extends CmdBase {
private String messageIdStr = "latest";
@Parameter(names = {"--property", "-p"}, description = "key value pair properties(-p a=b -p c=d)",
- required = false)
+ required = false, splitter = NoSplitter.class)
private java.util.List<String> properties;
@Override
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdTopics.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdTopics.java
index 8bcc865efbb..2913b5112bc 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdTopics.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdTopics.java
@@ -55,6 +55,7 @@ import org.apache.pulsar.client.admin.Topics;
import org.apache.pulsar.client.api.Message;
import org.apache.pulsar.client.api.MessageId;
import org.apache.pulsar.client.api.SubscriptionType;
+import org.apache.pulsar.client.cli.NoSplitter;
import org.apache.pulsar.client.impl.BatchMessageIdImpl;
import org.apache.pulsar.client.impl.MessageIdImpl;
import org.apache.pulsar.client.impl.MessageImpl;
@@ -960,7 +961,7 @@ public class CmdTopics extends CmdBase {
private boolean replicated = false;
@Parameter(names = {"--property", "-p"}, description = "key value pair properties(-p a=b -p c=d)",
- required = false)
+ required = false, splitter = NoSplitter.class)
private java.util.List<String> properties;
@Override
@@ -989,7 +990,7 @@ public class CmdTopics extends CmdBase {
private String subscriptionName;
@Parameter(names = {"--property", "-p"}, description = "key value pair properties(-p a=b -p c=d)",
- required = false)
+ required = false, splitter = NoSplitter.class)
private java.util.List<String> properties;
@Parameter(names = {"--clear", "-c"}, description = "Remove all properties",