merlimat closed pull request #1547: Make client keepAliveInterval configurable 
in client side
URL: https://github.com/apache/incubator-pulsar/pull/1547
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java 
b/pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
index b832e59c9b..418953d5b7 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/api/ClientBuilder.java
@@ -262,4 +262,12 @@ ClientBuilder authentication(String authPluginClassName, 
Map<String, String> aut
      * @param maxNumberOfRejectedRequestPerConnection
      */
     ClientBuilder maxNumberOfRejectedRequestPerConnection(int 
maxNumberOfRejectedRequestPerConnection);
+
+    /**
+     * Set keep alive interval in seconds for each client-broker-connection. 
<i>(default: 30)</i>.
+     *
+     * @param keepAliveIntervalSeconds
+     * @param unit time unit for {@code statsInterval}
+     */
+    ClientBuilder keepAliveInterval(int keepAliveIntervalSeconds, TimeUnit 
unit);
 }
diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientBuilderImpl.java
 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientBuilderImpl.java
index 3effc7f3bf..deb06251fb 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientBuilderImpl.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientBuilderImpl.java
@@ -155,6 +155,12 @@ public ClientBuilder 
maxNumberOfRejectedRequestPerConnection(int maxNumberOfReje
         return this;
     }
 
+    @Override
+    public ClientBuilder keepAliveInterval(int keepAliveIntervalSeconds, 
TimeUnit unit) {
+        
conf.setKeepAliveIntervalSeconds((int)unit.toSeconds(keepAliveIntervalSeconds));
+        return this;
+    }
+
     public ClientConfigurationData getClientConfigurationData() {
         return conf;
     }
diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
index d89d8fbd5a..39aac44799 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
@@ -107,7 +107,7 @@
     }
 
     public ClientCnx(ClientConfigurationData conf, EventLoopGroup 
eventLoopGroup) {
-        super(30, TimeUnit.SECONDS);
+        super(conf.getKeepAliveIntervalSeconds(), TimeUnit.SECONDS);
         this.pendingLookupRequestSemaphore = new 
Semaphore(conf.getConcurrentLookupRequest(), true);
         this.authentication = conf.getAuthentication();
         this.eventLoopGroup = eventLoopGroup;
diff --git 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
index 4fe7569a3b..859bb1b763 100644
--- 
a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
+++ 
b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/conf/ClientConfigurationData.java
@@ -53,6 +53,7 @@
     private boolean tlsHostnameVerificationEnable = false;
     private int concurrentLookupRequest = 50000;
     private int maxNumberOfRejectedRequestPerConnection = 50;
+    private int keepAliveIntervalSeconds = 30;
 
     public ClientConfigurationData clone() {
         try {


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to