[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Brittle downloads

Making the switch now. Exactly what bundles are required? I now have the following ecf filetransfer bundles in my feature:

org.eclipse.ecf.filetransfer
org.eclipse.ecf.provider.filetransfer
org.eclipse.ecf.provider.filetransfer.httpclient
org.eclipse.ecf.provider.filetransfer.httpclient.ssl
org.eclipse.ecf.provider.filetransfer.ssl

are all of them needed or do I have redundancy now?

I also added:

org.apache.commons.httpclient
org.apache.commons.codec
org.apache.commons.logging

since they now seem to be required.

- thomas


Pascal Rapicault wrote:

You should really strive to use Apache client. This is what we have been doing all our testing against.

Inactive hide details for Thomas Hallgren ---05/14/2009 11:44:20 AM---I think my problem (or at least part of it) stems from thThomas Hallgren ---05/14/2009 11:44:20 AM---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


From:

Thomas Hallgren <thomas@xxxxxxx>

To:

P2 developer discussions <p2-dev@xxxxxxxxxxx>

Date:

05/14/2009 11:44 AM

Subject:

Re: [p2-dev] Brittle downloads





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



      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>
          Sent by:
          p2-dev-bounces@xxxxxxxxxxx

          05/14/2009 03:40 AM

          Please respond to
          P2 developer discussions <
          p2-dev@xxxxxxxxxxx>

          To
          P2 developer discussions <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(HttpClient.java:658)
             [java]     at
          sun.net.
          www.http.HttpClient.parseHTTP(HttpClient.java:607)
             [java]     at
          sun.net.
          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
          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
      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 https://dev.eclipse.org/mailman/listinfo/p2-dev

GIF image

GIF image