From 8dd788de6aa044d03313c3c1fced8c74343fefb8 Mon Sep 17 00:00:00 2001 From: carlvine Date: Wed, 28 Feb 2018 19:35:19 +0800 Subject: [PATCH] HttpGet:add http time out --- .../agent/core/remote/DiscoveryRestServiceClient.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/DiscoveryRestServiceClient.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/DiscoveryRestServiceClient.java index 1c81fcd003..565a7d7d40 100644 --- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/DiscoveryRestServiceClient.java +++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/DiscoveryRestServiceClient.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.LinkedList; import java.util.List; import java.util.Random; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; @@ -46,6 +47,9 @@ import static org.apache.skywalking.apm.agent.core.conf.RemoteDownstreamConfig.C */ public class DiscoveryRestServiceClient implements Runnable { private static final ILog logger = LogManager.getLogger(DiscoveryRestServiceClient.class); + private static final int HTTP_CONNECT_TIMEOUT = 2000; + private static final int HTTP_CONNECTION_REQUEST_TIMEOUT = 1000; + private static final int HTTP_SOCKET_TIMEOUT = 2000; private String[] serverList; private volatile int selectedServer = -1; @@ -133,7 +137,11 @@ public class DiscoveryRestServiceClient implements Runnable { return null; } HttpGet httpGet = new HttpGet("http://" + serverList[selectedServer] + Config.Collector.DISCOVERY_SERVICE_NAME); - + RequestConfig requestConfig = RequestConfig.custom() + .setConnectTimeout(HTTP_CONNECT_TIMEOUT) + .setConnectionRequestTimeout(HTTP_CONNECTION_REQUEST_TIMEOUT) + .setSocketTimeout(HTTP_SOCKET_TIMEOUT).build(); + httpGet.setConfig(requestConfig); return httpGet; } -- GitLab