You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/07/10 06:52:47 UTC
[pulsar] 08/19: [improve][broker] Use shared broker client scheduled executor provider (#16338)
This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 45fd4abf5da25d16f7383648c10e3ad7ffc555d8
Author: lipenghui <pe...@apache.org>
AuthorDate: Mon Jul 4 09:32:23 2022 +0800
[improve][broker] Use shared broker client scheduled executor provider (#16338)
(cherry picked from commit 4dd4ba5ed6de06eb22431c74863cc9a878d8a791)
---
.../src/main/java/org/apache/pulsar/broker/PulsarService.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/PulsarService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/PulsarService.java
index 944201d6125..a20af6e4f87 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/PulsarService.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/PulsarService.java
@@ -130,6 +130,7 @@ import org.apache.pulsar.client.impl.conf.ClientConfigurationData;
import org.apache.pulsar.client.impl.conf.ConfigurationDataUtils;
import org.apache.pulsar.client.internal.PropertiesUtils;
import org.apache.pulsar.client.util.ExecutorProvider;
+import org.apache.pulsar.client.util.ScheduledExecutorProvider;
import org.apache.pulsar.common.conf.InternalConfigurationData;
import org.apache.pulsar.common.configuration.PulsarConfigurationLoader;
import org.apache.pulsar.common.configuration.VipStatus;
@@ -233,6 +234,7 @@ public class PulsarService implements AutoCloseable, ShutdownService {
protected final EventLoopGroup ioEventLoopGroup;
private final ExecutorProvider brokerClientSharedInternalExecutorProvider;
private final ExecutorProvider brokerClientSharedExternalExecutorProvider;
+ private final ScheduledExecutorProvider brokerClientSharedScheduledExecutorProvider;
private final Timer brokerClientSharedTimer;
private MetricsGenerator metricsGenerator;
@@ -336,6 +338,8 @@ public class PulsarService implements AutoCloseable, ShutdownService {
// since an instance is required, a single threaded shared instance is used for all broker client instances
this.brokerClientSharedExternalExecutorProvider =
new ExecutorProvider(1, "broker-client-shared-external-executor");
+ this.brokerClientSharedScheduledExecutorProvider =
+ new ScheduledExecutorProvider(1, "broker-client-shared-scheduled-executor");
this.brokerClientSharedTimer =
new HashedWheelTimer(new DefaultThreadFactory("broker-client-shared-timer"), 1, TimeUnit.MILLISECONDS);
}
@@ -535,6 +539,7 @@ public class PulsarService implements AutoCloseable, ShutdownService {
brokerClientSharedExternalExecutorProvider.shutdownNow();
brokerClientSharedInternalExecutorProvider.shutdownNow();
+ brokerClientSharedScheduledExecutorProvider.shutdownNow();
brokerClientSharedTimer.stop();
ioEventLoopGroup.shutdownGracefully();
@@ -1361,6 +1366,7 @@ public class PulsarService implements AutoCloseable, ShutdownService {
.timer(brokerClientSharedTimer)
.internalExecutorProvider(brokerClientSharedInternalExecutorProvider)
.externalExecutorProvider(brokerClientSharedExternalExecutorProvider)
+ .scheduledExecutorProvider(brokerClientSharedScheduledExecutorProvider)
.build();
}