You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2023/02/14 05:07:54 UTC
[servicecomb-java-chassis] branch master updated: fix idle time out and keep alive timeout not properly set problem (#3636)
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new 2e7c1dbfb fix idle time out and keep alive timeout not properly set problem (#3636)
2e7c1dbfb is described below
commit 2e7c1dbfb8e217ceae63d238ab52273b8d617627
Author: Cheng YouLing <97...@users.noreply.github.com>
AuthorDate: Tue Feb 14 13:07:46 2023 +0800
fix idle time out and keep alive timeout not properly set problem (#3636)
---
.../client/Http2TransportHttpClientOptionsSPI.java | 5 +++++
.../transport/rest/client/TransportClientConfig.java | 19 ++++++++++++++++++-
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/Http2TransportHttpClientOptionsSPI.java b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/Http2TransportHttpClientOptionsSPI.java
index ad0b3bb27..cfa6e9356 100644
--- a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/Http2TransportHttpClientOptionsSPI.java
+++ b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/Http2TransportHttpClientOptionsSPI.java
@@ -66,4 +66,9 @@ public class Http2TransportHttpClientOptionsSPI extends HttpTransportHttpClientO
public int getIdleTimeoutInSeconds() {
return TransportClientConfig.getHttp2ConnectionIdleTimeoutInSeconds();
}
+
+ @Override
+ public int getKeepAliveTimeout() {
+ return TransportClientConfig.getHttp2ConnectionKeepAliveTimeoutInSeconds();
+ }
}
diff --git a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
index d855d4e31..c000e4ad4 100644
--- a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
+++ b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/TransportClientConfig.java
@@ -103,7 +103,24 @@ public final class TransportClientConfig {
}
result = getConnectionIdleTimeoutInSeconds();
if (result > 1) {
- return result - 1; // a bit shorter than ConnectionIdleTimeoutInSeconds
+ // a bit shorter than ConnectionIdleTimeoutInSeconds
+ return result - 1;
+ }
+ return result;
+ }
+
+ public static int getHttp2ConnectionKeepAliveTimeoutInSeconds() {
+ int result = DynamicPropertyFactory.getInstance()
+ .getIntProperty("servicecomb.rest.client.http2.connection.keepAliveTimeoutInSeconds",
+ -1)
+ .get();
+ if (result >= 0) {
+ return result;
+ }
+ result = getHttp2ConnectionIdleTimeoutInSeconds();
+ if (result > 1) {
+ // a bit shorter than ConnectionIdleTimeoutInSeconds
+ return result - 1;
}
return result;
}