Chanseok Oh created HTTPCLIENT-2015: ---------------------------------------
Summary: Connect timeout value is effective doubled Key: HTTPCLIENT-2015 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2015 Project: HttpComponents HttpClient Issue Type: Bug Components: HttpClient (classic) Affects Versions: 4.5.10 Environment: Debian-based Linux openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode) Reporter: Chanseok Oh The connection times out, say, after 6 seconds when calling `setConnectionTimeout(3000)`. The timeout value is effectively doubled. I've provided sample code, which demonstrates that the JDK Socket times out after 3 seconds, but the Apache HTTP Client times out after 6 seconds. This may seem like a minor bug to others, but our product functionality depends on timeouts in part and allows the user to adjust the timeouts, and this timeout-doubling-effect is causing some trouble to us. {code:java} public static void main(String[] args) { long started = System.nanoTime(); try (Socket socket = new Socket()) { socket.connect(new InetSocketAddress("example.com", 81), 3000); } catch (IOException ex) { ex.printStackTrace(System.out); } finally { System.out.println("JDK elapsed (s): " + (System.nanoTime() - started) / 1000000000L); } try (CloseableHttpClient client = HttpClients.createDefault()) { HttpGet httpGet = new HttpGet("https://example.com:81"); httpGet.setConfig(RequestConfig.custom().setConnectTimeout(3000).build()); long started2 = System.nanoTime(); try (CloseableHttpResponse res = client.execute(httpGet)) { } finally { System.out.println("Apache elapsed (s): " + (System.nanoTime() - started2) / 1000000000L); } } catch (IOException ex) { ex.printStackTrace(System.out); } } {code} -- This message was sent by Atlassian Jira (v8.3.2#803003) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org