You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zh...@apache.org on 2020/05/12 13:45:03 UTC

[pulsar] 12/17: Fix pulsar client admin thread number explode (#6940)

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 <ha...@163.com>
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;
     }