From 3752a1170bd7b362901c3e792548c62352b4b1ad Mon Sep 17 00:00:00 2001 From: lipenghui Date: Tue, 12 Jul 2022 21:13:56 +0800 Subject: [PATCH] [fix][test] Fix jvm oom on Unit Test broker group 1 (#16542) --- .../client/api/MultiTopicsConsumerTest.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java index 14d818ce3bebb..75b315413f59e 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/client/api/MultiTopicsConsumerTest.java @@ -65,11 +65,17 @@ protected void cleanup() throws Exception { super.internalCleanup(); } - @Override - protected PulsarClient createNewPulsarClient(ClientBuilder clientBuilder) throws PulsarClientException { - ClientConfigurationData conf = - ((ClientBuilderImpl) clientBuilder).getClientConfigurationData(); - return new PulsarClientImpl(conf) { + // test that reproduces the issue https://github.com/apache/pulsar/issues/12024 + // where closing the consumer leads to an endless receive loop + @Test + public void testMultiTopicsConsumerCloses() throws Exception { + String topicNameBase = "persistent://my-property/my-ns/my-topic-consumer-closes-"; + + ClientConfigurationData conf = ((ClientBuilderImpl) PulsarClient.builder().serviceUrl(lookupUrl.toString())) + .getClientConfigurationData(); + + @Cleanup + PulsarClientImpl client = new PulsarClientImpl(conf) { { ScheduledExecutorService internalExecutorService = (ScheduledExecutorService) super.getScheduledExecutorProvider().getExecutor(); @@ -85,31 +91,23 @@ public ExecutorService getInternalExecutorService() { return internalExecutorServiceDelegate; } }; - } - - // test that reproduces the issue https://github.com/apache/pulsar/issues/12024 - // where closing the consumer leads to an endless receive loop - @Test - public void testMultiTopicsConsumerCloses() throws Exception { - String topicNameBase = "persistent://my-property/my-ns/my-topic-consumer-closes-"; - @Cleanup - Producer producer1 = pulsarClient.newProducer() + Producer producer1 = client.newProducer() .topic(topicNameBase + "1") .enableBatching(false) .create(); @Cleanup - Producer producer2 = pulsarClient.newProducer() + Producer producer2 = client.newProducer() .topic(topicNameBase + "2") .enableBatching(false) .create(); @Cleanup - Producer producer3 = pulsarClient.newProducer() + Producer producer3 = client.newProducer() .topic(topicNameBase + "3") .enableBatching(false) .create(); - Consumer consumer = pulsarClient + Consumer consumer = client .newConsumer() .topics(Lists.newArrayList(topicNameBase + "1", topicNameBase + "2", topicNameBase + "3")) .subscriptionInitialPosition(SubscriptionInitialPosition.Earliest)