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:08:25 UTC
[servicecomb-java-chassis] branch 2.8.x updated: fix idle time out and keep alive timeout not properly set problem (#3635)
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/2.8.x by this push:
new 32b2254fd fix idle time out and keep alive timeout not properly set problem (#3635)
32b2254fd is described below
commit 32b2254fd42b9e97be3af206a45dc6ab82e692f2
Author: Cheng YouLing <97...@users.noreply.github.com>
AuthorDate: Tue Feb 14 13:08:19 2023 +0800
fix idle time out and keep alive timeout not properly set problem (#3635)
---
.../client/Http2TransportHttpClientOptionsSPI.java | 5 +++++
.../transport/rest/client/TransportClientConfig.java | 18 +++++++++++++++++-
2 files changed, 22 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..3ffa3f407 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,23 @@ 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;
}