AnonHxy commented on code in PR #21078:
URL: https://github.com/apache/pulsar/pull/21078#discussion_r1308129685


##########
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/NamespaceResources.java:
##########
@@ -49,16 +49,18 @@ public class NamespaceResources extends 
BaseResources<Policies> {
     private final IsolationPolicyResources isolationPolicies;
     private final PartitionedTopicResources partitionedTopicResources;
     private final MetadataStore configurationStore;
+    private final MetadataStore localStore;
 
     public static final String POLICIES_READONLY_FLAG_PATH = 
"/admin/flags/policies-readonly";
     private static final String NAMESPACE_BASE_PATH = "/namespace";
     private static final String BUNDLE_DATA_BASE_PATH = 
"/loadbalance/bundle-data";
 
-    public NamespaceResources(MetadataStore configurationStore, int 
operationTimeoutSec) {
+    public NamespaceResources(MetadataStore localStore, MetadataStore 
configurationStore, int operationTimeoutSec) {

Review Comment:
   How about creating a separate class naming `BundleResources` to handle the 
bundle-date creating and deleting.  The reason is that:
   
   1. `NamespaceResources` will be null if `configurationMetadataStore != null` 
is false, so there is a chance to throw NPE when  call 
`NamespaceResources.deleteBundleDataAsync(..)` or 
`NamespaceResources.deleteBundleDataTenantAsync(...)`:
   
   
https://github.com/apache/pulsar/blob/d099ac4fa2f217b9c5f0a5e660c83048e829c5d7/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/PulsarResources.java#L60-L64
   
   2. `NamespaceResources#BUNDLE_DATA_BASE_PATH` and 
`ModularLoadManagerImpl#BUNDLE_DATA_PATH` are duplicated.  `BundleResources` 
could unify them. WDYT



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