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


##########
pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListenerTest.java:
##########
@@ -288,4 +298,27 @@ private void prepareData() throws PulsarAdminException {
         testAddRg.setDispatchRateInBytes(200L);
 
     }
+
+    @Test
+    public void testLoadAllResourceGroupsAsyncFailed() {
+        PulsarService pulsarService = mock(PulsarService.class);
+        PulsarResources pulsarResources = mock(PulsarResources.class);
+
+        doReturn(pulsarResources).when(pulsarService).getPulsarResources();
+
+        ResourceGroupService resourceGroupService = 
mock(ResourceGroupService.class);
+        ResourceGroupResources resourceGroupResources = 
mock(ResourceGroupResources.class);

Review Comment:
   Because you did not mock the object `resourceGroupResources` completely, the 
subsequent execution of `resourceGroupResources.getStore()`  will throw a null 
pointer exception, which makes the current test cannot prove the problem.



##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupConfigListener.java:
##########
@@ -49,44 +55,55 @@ public class ResourceGroupConfigListener implements 
Consumer<Notification> {
     private final ResourceGroupResources rgResources;
     private final ResourceGroupNamespaceConfigListener 
rgNamespaceConfigListener;
 
+    @SneakyThrows
     public ResourceGroupConfigListener(ResourceGroupService rgService, 
PulsarService pulsarService) {
         this.rgService = rgService;
         this.pulsarService = pulsarService;
         this.rgResources = 
pulsarService.getPulsarResources().getResourcegroupResources();
-        loadAllResourceGroups();
+        loadAllResourceGroupsAsync()
+                
.get(pulsarService.getConfiguration().getMetadataStoreOperationTimeoutSeconds(),
 TimeUnit.SECONDS);

Review Comment:
   > Better not to call with timeout
   
   +1



-- 
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: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to