Il giorno lun 20 set 2021 alle ore 02:02 PengHui Li <peng...@apache.org> ha scritto:
> Thank Bowen, In my opinion, the authorization information should be deleted > after the topic been deleted no matter the topic is deleted automatically > or manually. If the topic auto-creation and auto-deletion enabled, the new > created topic might with the same topic name but different topics. And from > the user perspective, if they are looking for the topic level > authorization, inactive topic auto-deletion and auto-creation should be > disabled. > 110% agreed it is a bug to be fixed Enrico > > Thanks > Penghui > > Bowen Li <libw...@qq.com.invalid>于2021年9月13日 周一11:19写道: > > > Dear Apache Pulsar community members, > > In Pulsar, when a partitioned topic is deleted, the relevant > authorization > > information in ZooKeeper remains. Specifically, if I1. Create a > partitioned > > topic "persistent://lbw-tenant/lbw-test-ns1/my.topic.5" with 5 > > partitions.2. Grant it with consume and produce permissions.3. delete the > > topic using `pulsar-admin topics delete-partitioned-topic > > persistent://lbw-tenant/lbw-test-ns1/my.topic.5`Then the authorization > > information still remains in ZooKeeper, like``` > > [zk: localhost:2181(CONNECTED) 8] get > > /admin/policies/lbw-tenant/lbw-test-ns1 > > > > > > > {"auth_policies":{"namespace_auth":{},"destination_auth":{"persistent://lbw-tenant/lbw-test-ns1/my.topic.5-partition-0":{"test-user":["consume"]},"persistent://lbw-tenant/lbw-test-ns1/my.topic.5-partition-1":{"test-user":["consume"]},"persistent://lbw-tenant/lbw-test-ns1/my.topic.5-partition-2":{"test-user":["consume"]},"persistent://lbw-tenant/lbw-test-ns1/my.topic.5-partition-3":{"test-user":["produce","consume"]},"persistent://lbw-tenant/lbw-test-ns1/my.topic.5-partition-4":{"test-user":["produce","consume"]},"persistent://lbw-tenant/lbw-test-ns1/my.topic.5":{"test-user":["consume"]}},"subscription_auth_roles":{}},"replication_clusters":["standalone"],"bundles":{"boundaries":["0x00000000","0x40000000","0x80000000","0xc0000000","0xffffffff"],"numBundles":4},"backlog_quota_map":{},"clusterDispatchRate":{},"topicDispatchRate":{},"subscriptionDispatchRate":{},"replicatorDispatchRate":{},"clusterSubscribeRate":{},"publishMaxMessageRate":{},"latency_stats_sample_rate":{},"deleted":false,"encryption_required":false,"subscription_auth_mode":"None","offload_threshold":-1,"schema_auto_update_compatibility_strategy":"Full","schema_compatibility_strategy":"UNDEFINED","is_allow_auto_update_schema":true,"schema_validation_enforced":false,"subscription_types_enabled":[],"properties":{}} > > ``` > > If the number of topics is large, this is obviously a waste of storage. > So > > maybe we need to consider to delete the relevant authorization > information > > when the topic is deleted.But on the other hand, we have some > configuration > > like "brokerDeleteInactiveTopicsEnabled" and "allowAutoTopicCreation" > which > > will automatically create and delete the topic at some time, so we need > to > > be cautious to delete the relevant authorization information.In conclude, > > maybe we need to discuss whether the authorization information of a topic > > should be deleted when the topic is deleted. What's your opinion? >