lhotari commented on code in PR #23248:
URL: https://github.com/apache/pulsar/pull/23248#discussion_r1743049917


##########
pip/pip-376.md:
##########
@@ -0,0 +1,138 @@
+# PIP-376: Make topic policies service pluggable
+
+# Background knowledge
+
+## Topic policies service and system topics
+
+[PIP-39](https://github.com/apache/pulsar/wiki/PIP-39%3A-Namespace-Change-Events)
 introduces system topics and the topic level policies. However, the topic 
policies service (`TopicPoliciesService`) only has one implementation 
(`SystemTopicBasedTopicPoliciesService`) that depends on the system topics. So 
the following configs are both required (though they're all enabled by default 
now):
+
+```properties
+systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+```
+
+However, if the Pulsar storage is switched to a S3-based solution (by 
modifying the `managedLedgerStorageClassName` config), using system topics to 
manage topic policies could have low performance (due to the S3 write and read 
latency) and higher cost (due to redundant S3 API calls).
+
+## Badly designed TopicPoliciesService interface
+
+The `TopicPoliciesService` interface is a terrible abstraction because it's 
never designed for 3rd party implementations.

Review Comment:
   For the PIP document, it's good to remember that it remains as part of the 
Pulsar project documentation. Adapting the style to a professional 
documentation style would be helpful here. 



-- 
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