[ https://issues.apache.org/jira/browse/HTTPCLIENT-2118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17205664#comment-17205664 ]
Michael Lee commented on HTTPCLIENT-2118: ----------------------------------------- Unfortunately I don't have a Linux box at home, and the Linux boxes at work are behind proxy which might skew the result. Will the DEBUG log (excluding headerd and wire) from my PC below help? It shows the NoHttpResponseException and the stack trace: {noformat} 2020-10-02 00:19:57.041 INFO [main] demo.HttpClientTests : Link: https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe 2020-10-02 00:19:57.042 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: preparing request execution 2020-10-02 00:19:57.042 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie spec selected: strict 2020-10-02 00:19:57.042 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie [name: _gh_sess; value: 6FWaXP9llmm2yLHqWuE%2BOhaB%2BESlDD%2BUCJSOcbQyA0AjrtTipW7boQ%2BWZT7m5d60OxU1fCQXseQKbayV26y8NdlGjgcTqYa5BZcvUrT1wBbUgMfMcJIR8s7LvYB3%2B62nrRyloLj4H86fXjT2I16rf2whymwJ6pF02ffvt5k7DGZLkCmSkvIfj8YDZJtpgWYrw%2F6y58MtT1Ic%2FWcxtYWKVTCBIa6u2v4RakRmKfjFEmfm5mshci1BPkl8BsBFnzz3ZAwQIwLjwf9CjlfoPTC6Xw%3D%3D--8KZo6ZgByNFrN%2BdR--o3CBpjj6c%2ByFzKUd0TH0tA%3D%3D; domain: github.com; path: /; expiry: null] match [(secure)github.com:443/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe] 2020-10-02 00:19:57.042 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie [name: _octo; value: GH1.1.988333605.1601569188; domain: github.com; path: /; expiry: Sat Oct 02 00:19:48 CST 2021] match [(secure)github.com:443/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe] 2020-10-02 00:19:57.042 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie [name: logged_in; value: no; domain: github.com; path: /; expiry: Sat Oct 02 00:19:48 CST 2021] match [(secure)github.com:443/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe] 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.http.protocol.RequestAuthCache : Auth cache not set in the context 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.http.impl.classic.ProtocolExec : ex-00000006: target auth state: UNCHALLENGED 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.http.impl.classic.ProtocolExec : ex-00000006: proxy auth state: UNCHALLENGED 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.http.impl.classic.ConnectExec : ex-00000006: acquiring connection with route {s}->https://github.com:443 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: acquiring endpoint (3 MINUTES) 2020-10-02 00:19:57.043 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: endpoint lease request (3 MINUTES) [route: {s}->https://github.com:443][total available: 6; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:57.043 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: endpoint leased [route: {s}->https://github.com:443][total available: 5; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:57.043 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: acquired ep-00000006 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: acquired endpoint ep-00000006 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.h.impl.classic.MainClientExec : ex-00000006: executing GET /git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe HTTP/1.1 2020-10-02 00:19:57.043 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000006: start execution ex-00000006 2020-10-02 00:19:57.043 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000006: executing exchange ex-00000006 over http-outgoing-0 2020-10-02 00:19:57.141 DEBUG [main] o.a.h.c.h.impl.classic.MainClientExec : ex-00000006: connection can be kept alive for 1 MINUTES 2020-10-02 00:19:57.143 DEBUG [main] o.a.h.c.http.impl.classic.RedirectExec : ex-00000006: redirect requested to location 'https://github-production-release-asset-2e65be.s3.amazonaws.com/23216272/1a38ec80-d0ce-11ea-9065-30a975f676ad?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201001%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201001T161946Z&X-Amz-Expires=300&X-Amz-Signature=3acea7d0be7b1aa843fae7f3356ac265b0830842e5546398a4cba90b7ee0d3e4&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=23216272&response-content-disposition=attachment%3B%20filename%3DGit-2.28.0-64-bit.exe&response-content-type=application%2Foctet-stream' 2020-10-02 00:19:57.144 DEBUG [main] o.a.h.c.http.impl.classic.RedirectExec : ex-00000006: new route required 2020-10-02 00:19:57.144 DEBUG [main] o.a.h.c.http.impl.classic.RedirectExec : ex-00000006: resetting target auth state 2020-10-02 00:19:57.144 DEBUG [main] o.a.h.c.http.impl.classic.RedirectExec : ex-00000006: redirecting to 'https://github-production-release-asset-2e65be.s3.amazonaws.com/23216272/1a38ec80-d0ce-11ea-9065-30a975f676ad?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201001%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201001T161946Z&X-Amz-Expires=300&X-Amz-Signature=3acea7d0be7b1aa843fae7f3356ac265b0830842e5546398a4cba90b7ee0d3e4&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=23216272&response-content-disposition=attachment%3B%20filename%3DGit-2.28.0-64-bit.exe&response-content-type=application%2Foctet-stream' via {s}->https://github.com:443 2020-10-02 00:19:57.144 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000006: releasing valid endpoint 2020-10-02 00:19:57.144 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000006: releasing endpoint 2020-10-02 00:19:57.145 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000006: connection http-outgoing-0 can be kept alive for 1 MINUTES 2020-10-02 00:19:57.145 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000006: connection released [route: {s}->https://github.com:443][total available: 6; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:57.145 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie spec selected: strict 2020-10-02 00:19:57.145 DEBUG [main] o.a.h.c.http.protocol.RequestAuthCache : Auth cache not set in the context 2020-10-02 00:19:57.145 DEBUG [main] o.a.h.c.http.impl.classic.ProtocolExec : ex-00000006: target auth state: UNCHALLENGED 2020-10-02 00:19:57.146 DEBUG [main] o.a.h.c.http.impl.classic.ProtocolExec : ex-00000006: proxy auth state: UNCHALLENGED 2020-10-02 00:19:57.146 DEBUG [main] o.a.h.c.http.impl.classic.ConnectExec : ex-00000006: acquiring connection with route {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443 2020-10-02 00:19:57.146 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: acquiring endpoint (3 MINUTES) 2020-10-02 00:19:57.146 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: endpoint lease request (3 MINUTES) [route: {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443][total available: 6; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:57.147 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: endpoint leased [route: {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443][total available: 5; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:57.147 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: acquired ep-00000007 2020-10-02 00:19:57.147 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: acquired endpoint ep-00000007 2020-10-02 00:19:57.147 DEBUG [main] o.a.h.c.h.impl.classic.MainClientExec : ex-00000006: executing GET /23216272/1a38ec80-d0ce-11ea-9065-30a975f676ad?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20201001%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201001T161946Z&X-Amz-Expires=300&X-Amz-Signature=3acea7d0be7b1aa843fae7f3356ac265b0830842e5546398a4cba90b7ee0d3e4&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=23216272&response-content-disposition=attachment%3B%20filename%3DGit-2.28.0-64-bit.exe&response-content-type=application%2Foctet-stream HTTP/1.1 2020-10-02 00:19:57.147 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000007: start execution ex-00000006 2020-10-02 00:19:57.147 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000007: executing exchange ex-00000006 over http-outgoing-1 2020-10-02 00:19:57.150 DEBUG [main] h.i.i.DefaultManagedHttpClientConnection : http-outgoing-1: Close connection 2020-10-02 00:19:57.151 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000007: endpoint closed 2020-10-02 00:19:57.151 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000007: discarding endpoint 2020-10-02 00:19:57.151 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000007: releasing endpoint 2020-10-02 00:19:57.151 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000007: connection is not kept alive 2020-10-02 00:19:57.152 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000007: connection released [route: {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443][total available: 5; route allocated: 0 of 5; total allocated: 5 of 25] 2020-10-02 00:19:57.156 DEBUG [main] o.a.h.c.h.i.c.HttpRequestRetryExec : ex-00000006: The target server failed to respond org.apache.hc.core5.http.NoHttpResponseException: The target server failed to respond at org.apache.hc.core5.http.impl.io.DefaultHttpResponseParser.createConnectionClosedException(DefaultHttpResponseParser.java:87) at org.apache.hc.core5.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:243) at org.apache.hc.core5.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:53) at org.apache.hc.core5.http.impl.io.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:187) at org.apache.hc.core5.http.impl.io.HttpRequestExecutor.execute(HttpRequestExecutor.java:175) at org.apache.hc.core5.http.impl.io.HttpRequestExecutor.execute(HttpRequestExecutor.java:218) at org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager$InternalConnectionEndpoint.execute(PoolingHttpClientConnectionManager.java:599) at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.execute(InternalExecRuntime.java:215) at org.apache.hc.client5.http.impl.classic.MainClientExec.execute(MainClientExec.java:107) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:181) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:172) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:93) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:128) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57) at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:116) at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51) at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:178) at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:75) at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:89) at demo.HttpClient5Wrapper.getCode(HttpClient5Wrapper.java:39) at demo.HttpClientTests.test(HttpClientTests.java:49) at demo.HttpClientTests.testHttpClient5(HttpClientTests.java:42) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) 2020-10-02 00:19:57.157 INFO [main] o.a.h.c.h.i.c.HttpRequestRetryExec : Recoverable I/O exception (org.apache.hc.core5.http.NoHttpResponseException) caught when processing request to {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443 2020-10-02 00:19:57.157 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie spec selected: strict 2020-10-02 00:19:57.157 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie [name: _gh_sess; value: 6FWaXP9llmm2yLHqWuE%2BOhaB%2BESlDD%2BUCJSOcbQyA0AjrtTipW7boQ%2BWZT7m5d60OxU1fCQXseQKbayV26y8NdlGjgcTqYa5BZcvUrT1wBbUgMfMcJIR8s7LvYB3%2B62nrRyloLj4H86fXjT2I16rf2whymwJ6pF02ffvt5k7DGZLkCmSkvIfj8YDZJtpgWYrw%2F6y58MtT1Ic%2FWcxtYWKVTCBIa6u2v4RakRmKfjFEmfm5mshci1BPkl8BsBFnzz3ZAwQIwLjwf9CjlfoPTC6Xw%3D%3D--8KZo6ZgByNFrN%2BdR--o3CBpjj6c%2ByFzKUd0TH0tA%3D%3D; domain: github.com; path: /; expiry: null] match [(secure)github.com:443/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe] 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie [name: _octo; value: GH1.1.988333605.1601569188; domain: github.com; path: /; expiry: Sat Oct 02 00:19:48 CST 2021] match [(secure)github.com:443/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe] 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.http.protocol.RequestAddCookies : Cookie [name: logged_in; value: no; domain: github.com; path: /; expiry: Sat Oct 02 00:19:48 CST 2021] match [(secure)github.com:443/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe] 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.http.protocol.RequestAuthCache : Auth cache not set in the context 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.http.impl.classic.ProtocolExec : ex-00000006: target auth state: UNCHALLENGED 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.http.impl.classic.ProtocolExec : ex-00000006: proxy auth state: UNCHALLENGED 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.http.impl.classic.ConnectExec : ex-00000006: acquiring connection with route {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443 2020-10-02 00:19:57.158 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: acquiring endpoint (3 MINUTES) 2020-10-02 00:19:57.158 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: endpoint lease request (3 MINUTES) [route: {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443][total available: 5; route allocated: 0 of 5; total allocated: 5 of 25] 2020-10-02 00:19:57.158 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: endpoint leased [route: {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443][total available: 5; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:57.159 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ex-00000006: acquired ep-00000008 2020-10-02 00:19:57.159 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ex-00000006: acquired endpoint ep-00000008 2020-10-02 00:19:57.159 DEBUG [main] o.a.h.c.http.impl.classic.ConnectExec : ex-00000006: opening connection {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443 2020-10-02 00:19:57.159 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000008: connecting endpoint (30 SECONDS) 2020-10-02 00:19:57.159 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000008: connecting endpoint to https://github-production-release-asset-2e65be.s3.amazonaws.com:443 (30 SECONDS) 2020-10-02 00:19:57.159 DEBUG [main] .i.i.DefaultHttpClientConnectionOperator : http-outgoing-6: connecting to github-production-release-asset-2e65be.s3.amazonaws.com/52.216.95.171:443 2020-10-02 00:19:57.159 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : Connecting socket to github-production-release-asset-2e65be.s3.amazonaws.com/52.216.95.171:443 with timeout 30 SECONDS 2020-10-02 00:19:57.418 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : Enabled protocols: [TLSv1.3, TLSv1.2] 2020-10-02 00:19:57.418 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : Enabled cipher suites: [TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV] 2020-10-02 00:19:57.418 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : Starting handshake 2020-10-02 00:19:57.965 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : Secure session established 2020-10-02 00:19:57.965 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : negotiated protocol: TLSv1.2 2020-10-02 00:19:57.965 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : negotiated cipher suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 2020-10-02 00:19:57.965 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : peer principal: CN=*.s3.amazonaws.com, O="Amazon.com, Inc.", L=Seattle, ST=Washington, C=US 2020-10-02 00:19:57.965 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : peer alternative names: [*.s3.amazonaws.com, s3.amazonaws.com] 2020-10-02 00:19:57.965 DEBUG [main] o.a.h.c.h.s.SSLConnectionSocketFactory : issuer principal: CN=DigiCert Baltimore CA-2 G2, OU=www.digicert.com, O=DigiCert Inc, C=US 2020-10-02 00:19:57.965 DEBUG [main] .i.i.DefaultHttpClientConnectionOperator : http-outgoing-6: connection established 192.168.11.3:64008<->52.216.95.171:443 2020-10-02 00:19:57.965 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000008: connected http-outgoing-6 2020-10-02 00:19:57.966 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000008: endpoint connected 2020-10-02 00:19:57.966 DEBUG [main] o.a.h.c.h.impl.classic.MainClientExec : ex-00000006: executing GET /git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe HTTP/1.1 2020-10-02 00:19:57.966 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000008: start execution ex-00000006 2020-10-02 00:19:57.966 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000008: executing exchange ex-00000006 over http-outgoing-6 2020-10-02 00:19:58.242 DEBUG [main] o.a.h.c.h.impl.classic.MainClientExec : ex-00000006: connection can be kept alive for 1 MINUTES 2020-10-02 00:19:58.243 DEBUG [main] o.a.h.c.h.i.classic.InternalHttpClient : ep-00000008: releasing valid endpoint 2020-10-02 00:19:58.243 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000008: releasing endpoint 2020-10-02 00:19:58.244 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000008: connection http-outgoing-6 can be kept alive for 1 MINUTES 2020-10-02 00:19:58.244 DEBUG [main] h.i.i.PoolingHttpClientConnectionManager : ep-00000008: connection released [route: {s}->https://github-production-release-asset-2e65be.s3.amazonaws.com:443][total available: 6; route allocated: 1 of 5; total allocated: 6 of 25] 2020-10-02 00:19:58.244 INFO [main] demo.HttpClientTests : Status: 403 {noformat} > Difference in behavior between 4.5.x and 5.0.x - CloseableHttpClient returns > 403 after NoHttpResponseException > -------------------------------------------------------------------------------------------------------------- > > Key: HTTPCLIENT-2118 > URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2118 > Project: HttpComponents HttpClient > Issue Type: Bug > Components: HttpClient (classic), HttpClient (Windows) > Affects Versions: 5.0.2 > Environment: Microsoft Windows 10 version 2004 [10.0.19041.508] > Oracle JDK 11.0.8 > Reporter: Michael Lee > Priority: Major > Attachments: demo.zip, headers.log, test_output.txt > > > My application reuses an instance of CloseableHttpClient to retrieve the > content from a list of URLs. After upgrading HttpClient from 4.5.x to 5.0.2 > (also 5.0 and 5.0.1), it always gets a NoHttpResponseException followed by a > response code of 403 for a particular URL in the list. When using 4.5.x, it > always gets a 200 or 304 for that particular URL. > The behavior may be different if the order of the URLs in the list is changed. > To illustrate the problem, I have extracted code from my application into the > sample Maven project attached. In the JUnit test, testHttpClient4() will get > either 200 or 304 for all the URLs. On the other hand, testHttpClient5() > always gets 403 for the last URL in the list. In this project, I > intentionally added a If-Modified-Since header with the value being current > time minus 1 minute so that we should get a 304 from most of the URLs. > Can you investigate if this is really an obscure bug or an undocumented > behavior change related to how CloseableHttpClient handles redirects? > Thanks. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org