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 5d6932137d7 [feat] PIP-242 part 1 Introduce configuration 
`strictTopicNameEnabled` (#19582)
5d6932137d7 is described below

commit 5d6932137d76d544f939bef27df25f61b4a4d00d
Author: Qiang Zhao <[email protected]>
AuthorDate: Mon Feb 27 08:56:47 2023 +0800

    [feat] PIP-242 part 1 Introduce configuration `strictTopicNameEnabled` 
(#19582)
---
 .../apache/pulsar/broker/ServiceConfiguration.java | 25 ++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
index 5a85be11745..c18367f2655 100644
--- 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
+++ 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
@@ -1399,6 +1399,31 @@ public class ServiceConfiguration implements 
PulsarConfiguration {
             doc = "Enable or disable system topic.")
     private boolean systemTopicEnabled = true;
 
+    @FieldContext(
+            category = CATEGORY_SERVER,
+            doc = "# Enable strict topic name check. Which includes two parts 
as follows:\n"
+                    + "# 1. Mark `-partition-` as a keyword.\n"
+                    + "# E.g.\n"
+                    + "    Create a non-partitioned topic.\n"
+                    + "      No corresponding partitioned topic\n"
+                    + "       - persistent://public/default/local-name 
(passed)\n"
+                    + "       - 
persistent://public/default/local-name-partition-z (rejected by keyword)\n"
+                    + "       - 
persistent://public/default/local-name-partition-0 (rejected by keyword)\n"
+                    + "      Has corresponding partitioned topic, partitions=2 
and topic partition name "
+                    + "is persistent://public/default/local-name\n"
+                    + "       - 
persistent://public/default/local-name-partition-0 (passed,"
+                    + " Because it is the partition topic's sub-partition)\n"
+                    + "       - 
persistent://public/default/local-name-partition-z (rejected by keyword)\n"
+                    + "       - 
persistent://public/default/local-name-partition-4 (rejected,"
+                    + " Because it exceeds the number of maximum partitions)\n"
+                    + "    Create a partitioned topic(topic metadata)\n"
+                    + "       - persistent://public/default/local-name 
(passed)\n"
+                    + "       - 
persistent://public/default/local-name-partition-z (rejected by keyword)\n"
+                    + "       - 
persistent://public/default/local-name-partition-0 (rejected by keyword)\n"
+                    + "# 2. Allowed alphanumeric (a-zA-Z_0-9) and these 
special chars -=:. for topic name.\n"
+                    + "# NOTE: This flag will be removed in some major 
releases in the future.\n")
+    private boolean strictTopicNameEnabled = false;
+
     @FieldContext(
             category = CATEGORY_SCHEMA,
             doc = "The schema compatibility strategy to use for system topics"

Reply via email to