[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [p2-dev] Brittle downloads
|
Hi Henrik/Thomas,
For reference, here are all the system properties that can be set for
the URLConnection-based provider (*not* the httpclient provider that is
now the default).
http://java.sun.com/j2se/1.4.2/docs/guide/net/properties.html
Scott
Henrik Lindberg wrote:
That explains a lot !
Then you only have 30 sec timeout by default. I think you can modify
the timeout by setting the property sun.net.client.defaultReadTimeout.
Henrik Lindberg
henrik.lindberg@xxxxxxxxxxxxxx <mailto:henrik.lindberg@xxxxxxxxxxxxxx>
On May 14, 2009, at 5:35 PM, Thomas Hallgren wrote:
I think my problem (or at least part of it) stems from the fact that
I don't include the Apache httpclient in my setup so I don't benefit
from the automatic retries that apparently take place there but not
in the standard URL connect.
- thomas
Henrik Lindberg wrote:
John,
perhaps a very simply workaround is to allow the timeout and retry
to be set via properties.
Henrik Lindberg
henrik.lindberg@xxxxxxxxxxxxxx <mailto:henrik.lindberg@xxxxxxxxxxxxxx>
On May 14, 2009, at 3:51 PM, John Arthorne wrote:
I think the deeper problem here is that this repository hasn't been
configured with a mirrorsURL. I have entered this bug:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=276300
If mirrors were present you would get very different behaviour,
since we retry once per available mirror. With no mirrors and a two
minute timeout contacting the main server, I'm not sure we could do
a lot better. Henrik described the problem very well - there is no
perfect retry policy that makes sense for both headless builds and
end users, so it's a difficult problem.
*Thomas Hallgren <thomas@xxxxxxx <mailto:thomas@xxxxxxx>>*
Sent by: p2-dev-bounces@xxxxxxxxxxx
<mailto:p2-dev-bounces@xxxxxxxxxxx>
05/14/2009 03:40 AM
Please respond to
P2 developer discussions <p2-dev@xxxxxxxxxxx
<mailto:p2-dev@xxxxxxxxxxx>>
To
P2 developer discussions <p2-dev@xxxxxxxxxxx
<mailto:p2-dev@xxxxxxxxxxx>>
cc
Subject
[p2-dev] Brittle downloads
I know that there's been some improvements in this area since M7 which
I'm currently using but I thought I might ask anyway. What kind of
socket timeouts do we have and do we make any attempt to retry when a
socket timeout exception is thrown?
I tried installing the org.eclipse.platform feature several times. I
always ran into a SocketTimeoutException (see stacktrace below).
Apparently it tries to download the packed file first and then the jar
file. If neither succeeds, the installation fails. I first tried
this on
my local machine. I almost always failed so I decided to move to
build.eclipse.org. As it turns out, it fails there too. So what's
going
on here? Does it contact mirrors that fails or what?
I'm explicitly trying to install from
http://download.eclipse.org/eclipse/updates/3.5milestones/S-3.5M7-I200904302300.
Here's the stack-trace that I'm getting 7 times out of ten (the bundle
that failes question vary):
[java] !MESSAGE Unable to read repository at
http://download.eclipse.org/eclipse/updates/3.5milestones/S-3.5M7-I200904302300/plugins/org.eclipse.update.ui_3.2.200.v20090213.jar.pack.gz.
[java] !STACK 0
[java] java.net.SocketTimeoutException: Read timed out
[java] at java.net.SocketInputStream.socketRead0(Native Method)
[java] at
java.net.SocketInputStream.read(SocketInputStream.java:155)
[java] at
java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
[java] at
java.io.BufferedInputStream.read1(BufferedInputStream.java:267)
[java] at
java.io.BufferedInputStream.read(BufferedInputStream.java:324)
[java] at
sun.net.www.http.HttpClient.parseHTTPHeader
<http://www.http.HttpClient.parseHTTPHeader>(HttpClient.java:658)
[java] at
sun.net.www.http.HttpClient.parseHTTP
<http://www.http.HttpClient.parseHTTP>(HttpClient.java:607)
[java] at
sun.net.www.protocol.http.HttpURLConnection.getInputStream
<http://www.protocol.http.HttpURLConnection.getInputStream>(HttpURLConnection.java:966)
[java] at
org.eclipse.ecf.provider.filetransfer.retrieve.UrlConnectionRetrieveFileTransfer.getDecompressedStream(UrlConnectionRetrieveFileTransfer.java:441)
[java] at
org.eclipse.ecf.provider.filetransfer.retrieve.UrlConnectionRetrieveFileTransfer.openStreams(UrlConnectionRetrieveFileTransfer.java:285)
[java] at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:804)
[java] at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:502)
[java] at
org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:98)
[java] at
org.eclipse.equinox.internal.p2.repository.FileReader.sendRetrieveRequest(FileReader.java:251)
[java] at
org.eclipse.equinox.internal.p2.repository.FileReader.readInto(FileReader.java:200)
[java] at
org.eclipse.equinox.internal.p2.repository.RepositoryTransport.download(RepositoryTransport.java:69)
[java] at
org.eclipse.equinox.internal.p2.repository.RepositoryTransport.download(RepositoryTransport.java:113)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:472)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:455)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:522)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.getArtifact(MirrorRequest.java:200)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transferSingle(MirrorRequest.java:175)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transfer(MirrorRequest.java:159)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.perform(MirrorRequest.java:95)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:511)
[java] at
org.eclipse.equinox.internal.p2.artifact.repository.simple.DownloadJob.run(DownloadJob.java:64)
- thomas
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx <mailto:p2-dev@xxxxxxxxxxx>
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx <mailto:p2-dev@xxxxxxxxxxx>
https://dev.eclipse.org/mailman/listinfo/p2-dev
------------------------------------------------------------------------
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx <mailto:p2-dev@xxxxxxxxxxx>
https://dev.eclipse.org/mailman/listinfo/p2-dev
------------------------------------------------------------------------
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev