I tried it myself and I don't have this kind of problem. Do you connect through a proxy server? >From the log I see that you have commons-httpclient in your ivy classpath. >Could you remove commons-httpclient from your ivy classpath and try again?
Maarten ----- Original Message ---- From: Tero <[email protected]> To: [email protected] Sent: Thu, March 18, 2010 6:57:44 PM Subject: Annoying timeout errors with Spring bundle repository. I am getting really strange timeout exceptions when trying to pull artifacts from the Spring bundle Ivy repository. I am using a setup they recommend: <resolvers> <chain name="main" returnFirst="true"> <!-- Spring Source repositories --> <url name="com.springsource.repository.bundles.release"> <ivy pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/> <artifact pattern="http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> </url> <url name="com.springsource.repository.bundles.external"> <ivy pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/> <artifact pattern="http://repository.springsource.com/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> </url> </chain> </resolvers> The problem seems to be that in cases when artifact is not in the release repo, it should move to try the external repo. Here I am pulling Spring framework core jar, which works because the release repo has it. Ivy then proceeds to pull the dependencies of that; the release repo does not have Commons Logging, and there is a CLIENT ERROR for the Ivy file. Ivy then attempts to pull the Logging Jar, and hangs for 5 minutes!!! I have tried the Jar URL in Fiddler and it returns with HTTP 404 immediately, which it should because this Jar is not in release repo. However, for some reason Ivy does not seem to deal with this correctly and hangs on some HTTP Client retry timer. Once that timer triggers, the Logging Jar is attempted again from the first repo (not the next one), and we hang another 5 minutes. Ivy then decides that we are done retrying and FINALLY moves to the next repository which has the artifacts that I need! This is utter pain. Each access attempt results into 10 minutes of waiting. Considering the number of artifacts I have to download this could last weeks before I have everything I need from these repos. I am not saying that the problem is in IVY, but I am hoping someone knows a solution, or is able to tell if I am doing something wrong here. I am ready to tear my hair out! :) Debug log: [ivy:install] checking org.springframework#org.springframework.core;3.0.1.RELEASE-A from com.springsource.repository.bundles.release against [none] [ivy:install] module revision kept as first found: org.springframework#org.springframework.core;3.0.1.RELEASE-A from com.springsource.repository.bundles.release [ivy:install] found org.springframework#org.springframework.core;3.0.1.RELEASE-A in com.springsource.repository.bundles.release Finding class org.apache.ivy.core.resolve.IvyNodeUsage$Depender Loaded from D:\SVN\dataservices\build\lib\ivy-2.1.0.jar org/apache/ivy/core/resolve/IvyNodeUsage$Depender.class Class org.apache.ivy.core.resolve.IvyNodeUsage$Depender loaded from ant loader (parentFirst) [ivy:install] == resolving dependencies apache#ivy-install;1.0->org.springframework#org.springframework.core;3.0.1.RELEASE-A [default->aspects] [ivy:install] loadData of org.springframework#org.springframework.core;3.0.1.RELEASE-A of rootConf=default [ivy:install] == resolving dependencies org.springframework#org.springframework.core;3.0.1.RELEASE-A->org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1 [compile->compile] Finding class org.apache.ivy.core.settings.IvySettings$3 Loaded from D:\SVN\dataservices\build\lib\ivy-2.1.0.jar org/apache/ivy/core/settings/IvySettings$3.class Class org.apache.ivy.core.settings.IvySettings$3 loaded from ant loader (parentFirst) [ivy:install] loadData of org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1 of rootConf=default [ivy:install] using main to resolve org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1 [ivy:install] main: Checking cache for: dependency: org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1 {compile=[compile], commons-logging=[compile]} [ivy:install] no ivy file in cache for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1: tried C:\Users\tvaananen\.ivy2\cache\org.apache.commons\com.springsource.org.apache.commons.logging\ivy-1.1.1.xml [ivy:install] no ivy file in cache for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1: tried C:\Users\tvaananen\.ivy2\cache\org.apache.commons\com.springsource.org.apache.commons.logging\ivy-1.1.1.xml [ivy:install] trying http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] tried http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] HTTP response status: 404 url=http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] CLIENT ERROR: Not Found url=http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] com.springsource.repository.bundles.release: resource not reachable for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1: res=http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml Finding class org.apache.ivy.plugins.resolver.BasicResolver$3 Loaded from D:\SVN\dataservices\build\lib\ivy-2.1.0.jar org/apache/ivy/plugins/resolver/BasicResolver$3.class Class org.apache.ivy.plugins.resolver.BasicResolver$3 loaded from ant loader (parentFirst) [ivy:install] trying http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar [ivy:install] tried http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar >>>>>> HANGS HERE FOR 5 MINUTES OR SO!!! Then RETRY! >>>>>> Finding class org.apache.log4j.spi.LocationInfo Loaded from D:\SVN\dataservices\build\lib\log4j-1.2.8.jar org/apache/log4j/spi/LocationInfo.class Class org.apache.log4j.spi.LocationInfo loaded from ant loader (parentFirst) Finding class com.ibm.uvm.tools.DebugSupport [ivy:install] (httpclient.HttpMethodDirector 438 ) I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server repository.springsource.com failed to respond [ivy:install] (httpclient.HttpMethodDirector 444 ) Retrying request [ivy:install] HTTP response status: 404 url=http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar [ivy:install] CLIENT ERROR: Not Found url=http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar [ivy:install] com.springsource.repository.bundles.release: resource not reachable for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1: res=http://repository.springsource.com/ivy/bundles/release/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar [ivy:install] com.springsource.repository.bundles.release: no ivy file nor artifact found for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1 [ivy:install] no ivy file in cache for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1: tried C:\Users\tvaananen\.ivy2\cache\org.apache.commons\com.springsource.org.apache.commons.logging\ivy-1.1.1.xml [ivy:install] trying http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] tried http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml >>>>>> HANGS ANOTHER 5 MINUTES. Throws an I/O exception that server did not respond. Finally moves to the right repository after 10 minutes total. >>>>>> [ivy:install] (httpclient.HttpMethodDirector 438 ) I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server repository.springsource.com failed to respond [ivy:install] (httpclient.HttpMethodDirector 444 ) Retrying request [ivy:install] com.springsource.repository.bundles.external: found md file for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1 [ivy:install] => http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml (1.1.1) [ivy:install] parser = ivy parser [ivy:install] no ivy file in cache for org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1: tried C:\Users\tvaananen\.ivy2\cache\org.apache.commons\com.springsource.org.apache.commons.logging\ivy-1.1.1.xml [ivy:install] downloading http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml ... [ivy:install] com.springsource.repository.bundles.external: downloading http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] to C:\Users\tvaananen\.ivy2\cache\org.apache.commons\com.springsource.org.apache.commons.logging\ivy-1.1.1.xml.original.part [ivy:install] sha1 file found for http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml: checking... [ivy:install] com.springsource.repository.bundles.external: downloading http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml.sha1 [ivy:install] to C:\Users\TVAANA~1\AppData\Local\Temp\ivytmp1483036655760669822sha1 [ivy:install] sha1 OK for http://repository.springsource.com/ivy/bundles/external/org.apache.commons/com.springsource.org.apache.commons.logging/1.1.1/ivy-1.1.1.xml [ivy:install] [SUCCESSFUL ] org.apache.commons#com.springsource.org.apache.commons.logging;1.1.1!ivy.xml(ivy.original) (647ms) >>>>> Yay, got what I wanted! >>>>> -- View this message in context: http://old.nabble.com/Annoying-timeout-errors-with-Spring-bundle-repository.-tp27949225p27949225.html Sent from the ivy-user mailing list archive at Nabble.com.
