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

This is the whole list we require in p2.user.ui.feature
<import plugin="org.eclipse.ecf" version="3.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.filetransfer" version="3.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.identity" version="3.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.provider.filetransfer" version="3.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.provider.filetransfer.ssl" version="1.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.ssl" version="1.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.provider.filetransfer.httpclient" version="3.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.eclipse.ecf.provider.filetransfer.httpclient.ssl" version="1.0.0.v20090505-1437" match="compatible"/>
<import plugin="org.apache.commons.codec" version="1.3.0" match="compatible"/>
<import plugin="org.apache.commons.httpclient" version="3.1.0" match="compatible"/>

Inactive hide details for Thomas Hallgren ---05/14/2009 02:49:03 PM---Making the switch now. Exactly what bundles are required?Thomas Hallgren ---05/14/2009 02:49:03 PM---Making the switch now. Exactly what bundles are required? I now have the following ecf filetransfer bundles in my feature:


From:

Thomas Hallgren <thomas@xxxxxxx>

To:

P2 developer discussions <p2-dev@xxxxxxxxxxx>

Date:

05/14/2009 02:49 PM

Subject:

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
       
_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/p2-dev


GIF image

GIF image