Hi,
I don't know how many of you have noticed things like
this in the build logs:
12:25:45 Mar 04, 2020 11:25:45 AM org.apache.http.impl.execchain.RetryExec execute 12:25:45 INFO: I/O exception (org.apache.http.NoHttpResponseException) caught when processing request to {s}->https://download.eclipse.org:443: The target server failed to respond 12:25:45 Mar 04, 2020 11:25:45 AM org.apache.http.impl.execchain.RetryExec execute 12:25:45 INFO: Retrying request to {s}->https://download.eclipse.org:443
I'm a bit concerned about the cause of such
exceptions. I've debugged where this happens in my
Oomph environment. Specifically it happens in
org.apache.http.impl.execchain.RetryExec.execute(HttpRoute,
HttpRequestWrapper, HttpClientContext,
HttpExecutionAware) when parsing the response header
finds nothing with the following stack leading to the
logged problem:
org.apache.http.NoHttpResponseException.<init>(java.lang.String)
line: 47
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(org.apache.http.io.SessionInputBuffer)
line: 141
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(org.apache.http.io.SessionInputBuffer)
line: 56
org.apache.http.impl.conn.DefaultHttpResponseParser(org.apache.http.impl.io.AbstractMessageParser<T>).parse()
line: 259
org.apache.http.impl.conn.LoggingManagedHttpClientConnection(org.apache.http.impl.DefaultBHttpClientConnection).receiveResponseHeader()
line: 163
org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader() line:
157
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(org.apache.http.HttpRequest,
org.apache.http.HttpClientConnection,
org.apache.http.protocol.HttpContext) line: 273
org.apache.http.protocol.HttpRequestExecutor.execute(org.apache.http.HttpRequest,
org.apache.http.HttpClientConnection,
org.apache.http.protocol.HttpContext) line: 125
org.apache.http.impl.execchain.MainClientExec.execute(org.apache.http.conn.routing.HttpRoute,
org.apache.http.client.methods.HttpRequestWrapper,
org.apache.http.client.protocol.HttpClientContext,
org.apache.http.client.methods.HttpExecutionAware)
line: 272
org.apache.http.impl.execchain.ProtocolExec.execute(org.apache.http.conn.routing.HttpRoute,
org.apache.http.client.methods.HttpRequestWrapper,
org.apache.http.client.protocol.HttpClientContext,
org.apache.http.client.methods.HttpExecutionAware)
line: 186
org.apache.http.impl.execchain.RetryExec.execute(org.apache.http.conn.routing.HttpRoute,
org.apache.http.client.methods.HttpRequestWrapper,
org.apache.http.client.protocol.HttpClientContext,
org.apache.http.client.methods.HttpExecutionAware)
line: 89
org.apache.http.impl.execchain.RedirectExec.execute(org.apache.http.conn.routing.HttpRoute,
org.apache.http.client.methods.HttpRequestWrapper,
org.apache.http.client.protocol.HttpClientContext,
org.apache.http.client.methods.HttpExecutionAware)
line: 110
org.apache.http.impl.client.InternalHttpClient.doExecute(org.apache.http.HttpHost,
org.apache.http.HttpRequest,
org.apache.http.protocol.HttpContext) line: 185
org.apache.http.impl.client.InternalHttpClient(org.apache.http.impl.client.CloseableHttpClient).execute(org.apache.http.client.methods.HttpUriRequest,
org.apache.http.protocol.HttpContext) line: 83
org.eclipse.ecf.provider.filetransfer.httpclient45.HttpClientFileSystemBrowser.runRequest()
line: 246
org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(org.eclipse.core.runtime.IProgressMonitor)
line: 69
org.eclipse.core.internal.jobs.Worker.run() line:
63
There will be two additional retries, and if those
fail too, the repository will fail to load (or the
artifact will fail to download). In my product
catalog generator, I load a whole whack of
repositories and this happens frequently enough that
more often than not, one or more repositories fail to
load. This concerns me because with 2 million users
loading repositories (via updates or via the
installer), a significant fraction might well run into
this same problem.
When I use
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient45
to disable the provider for this implementation, I of
course see no log entries nor do any repositories fail
to load.
I'm starting to get the feeling that either a) the
server is ill-behaved or b) there is a problem in the
httpclient implementation. Perhaps some Keep-Alive
header: is poor or not being respected by the
implementation.
I saw something similar here where the server was
blamed:
https://support.sonatype.com/hc/en-us/articles/213465028-Understanding-The-target-server-failed-to-respond-in-Nexus-logs
Does anyone have any ideas?
Regards,
Ed
_______________________________________________
platform-dev mailing list
platform-dev@xxxxxxxxxxx To
change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/platform-dev