This is an automated email from the ASF dual-hosted git repository. zhaijia pushed a commit to branch branch-2.5 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 71e78783b0f7241603d0518b6ac0f368ef624f60 Author: hangc0276 <[email protected]> AuthorDate: Tue May 12 14:45:26 2020 +0800 Fix pulsar client admin thread number explode (#6940) (cherry picked from commit 90dba138c79b5e8a9d5c576ec75c31e24f778914) --- .../pulsar/client/admin/internal/http/AsyncHttpConnector.java | 1 + .../client/admin/internal/http/AsyncHttpConnectorProvider.java | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnector.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnector.java index 42e9c49..000746d 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnector.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnector.java @@ -93,6 +93,7 @@ public class AsyncHttpConnector implements Connector { confBuilder.setReadTimeout(readTimeoutMs); confBuilder.setUserAgent(String.format("Pulsar-Java-v%s", PulsarVersion.getVersion())); confBuilder.setRequestTimeout(requestTimeoutMs); + confBuilder.setIoThreadsCount(conf.getNumIoThreads()); confBuilder.setKeepAliveStrategy(new DefaultKeepAliveStrategy() { @Override public boolean keepAlive(Request ahcRequest, HttpRequest request, HttpResponse response) { diff --git a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnectorProvider.java b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnectorProvider.java index 3ea4757..6c58ce9 100644 --- a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnectorProvider.java +++ b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/http/AsyncHttpConnectorProvider.java @@ -28,6 +28,7 @@ import org.glassfish.jersey.client.spi.ConnectorProvider; public class AsyncHttpConnectorProvider implements ConnectorProvider { private final ClientConfigurationData conf; + private Connector connector; public AsyncHttpConnectorProvider(ClientConfigurationData conf) { this.conf = conf; @@ -35,7 +36,10 @@ public class AsyncHttpConnectorProvider implements ConnectorProvider { @Override public Connector getConnector(Client client, Configuration runtimeConfig) { - return new AsyncHttpConnector(client, conf); + if (connector == null) { + connector = new AsyncHttpConnector(client, conf); + } + return connector; }
