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