ceylon / ceylon-module-resolver

DEPRECATED
Apache License 2.0
23 stars 9 forks source link

Support timeouts #80

Open FroMage opened 11 years ago

FroMage commented 11 years ago

Apparently the Sardine impl does not support timeouts, if I try to publish to an HTTP server which hangs (see ceylon/ceylon-compiler#1364) it will never timeout. We need to find a way to make it timeout.

quintesse commented 11 years ago

Seems someone here http://stackoverflow.com/questions/18664482/sardine-attempt-to-override-createdefaultsecuresocketfactory-not-working-as-e had the same problem. No solution unfortunately.

I also found this http://svn.alfresco.com/repos/alfresco-open-mirror/desktop-sync/HEAD/src/main/java/com/alfresco/sync/filestore/util/CustomSardineImpl.java which seems to support timeouts.

quintesse commented 10 years ago

Ok, this should now mostly work. The only thing is Aether because I don't know how to pass that information to it. It has the workOffline setting, but I don't see anything related to connection timeouts. @alesj , do you have any ideas?

alesj commented 10 years ago

@quintesse hmmm, it could be some Wagon setting, but no exact idea from my side.

quintesse commented 10 years ago

@alesj You had some contact with the ShrinkWrap people, right? Couldn't you ask them if there is a way?

alesj commented 10 years ago

@kpiwko @aslakknutsen any idea if there is some timeout support in Aether?

kpiwko commented 10 years ago

@alesj there is a request timeout (30min) and connection timeout (10s) in Aether. So it should timeout even with default settings.

It should be possible to pass -Daether.connector.connectTimeout and -Daether.connector.requestTimeout as JVM system properties. I can obviously expose this in configureResolver() API, just feature request is needed ;-)

quintesse commented 10 years ago

Thanks @kpiwko . Where would I open that feature request? :) And a question, is the "request timeout" the same thing as the "read timeout" for sockets? Or is a different thing?

kpiwko commented 10 years ago

@quintesse Any request should go here: https://issues.jboss.org/browse/SHRINKRES . Request timeout is indeed SO_TIMEOUT - https://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/params/HttpConnectionParams.html#SO_TIMEOUT

kpiwko commented 10 years ago

(note Aether actually uses HttpClient 4.x, not 3.x)

quintesse commented 10 years ago

Ok thanks! Issue created, see https://issues.jboss.org/browse/SHRINKRES-208

quintesse commented 10 years ago

We could consider this closed because at least there shouldn't be any places anymore in the code that can cause hangups. But I'll reassign the issue to 1.2 so I remember to check the progress of the above feature request.