poorbarcode commented on code in PR #23124:
URL: https://github.com/apache/pulsar/pull/23124#discussion_r1704293037


##########
pip/pip-370.md:
##########
@@ -0,0 +1,48 @@
+# PIP-370: An optional flag: disable the replicators to automatically trigger 
topic creation
+
+# Background knowledge
+
+Users using Geo-Replication backup data across multi clusters, and Admin APIs 
related to Geo-Replication and internal replicators of brokers will trigger 
topics auto-creation between clusters.
+- For partitioned topics.
+  - After enabled namespace-level Geo-Replication: broker will create topics 
on the remote cluster automatically when calling `pulsar-admin topics 
create-partitioned-topic`. It does not depend on enabling 
`allowAutoTopicCreation`.
+  - When enabling topic-level Geo-Replication on a partitioned topic: broker 
will create topics on the remote cluster automatically. It does not depend on 
enabling `allowAutoTopicCreation`.
+- For non-partitioned topics and partitions of partitioned topics.
+  - The internal Geo-Replicator will trigger topics auto-creation for remote 
clusters. **(Highlight)** It depends on enabling `allowAutoTopicCreation`. In 
fact, this behavior is not related to Geo-Replication, it is the behavior of 
the internal producer of Geo Replicator,   
+
+# Motivation
+
+But if users want to maintain pulsar resources manually, there is no choice 
that prevent pulsar resources creation affects each other between clusters.

Review Comment:
   > Why would someone want to do this manually? It would be useful to explain 
a real use case here with proper argumentation.
   
   Many users use a YAML file to define the pulsar resources on their cluster, 
such as bellow
   
   ```yaml
   resources:
   - public
     - default
       - tp-1
         - partitions: 3
       - tp-2
         - partitions: 0 
         - topic-policies: ... 
   - tenant-1
     - ns-1
     - ...
   ```
   
   There is a service that keeps reading the changes related to the file, 
compares the YAML file and actual pulsar resources, and calls pulsar rest APIs 
to keep actual pulsar resources matching the YAML file.
   
   This solution is more clear for engineers than a Pulsar Admin UI.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to