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"