I was thinking more in terms of TCP 45 sec timeout - but most timeout values listed at stacexchange were smaller than that - so I settled with 30. 10 might also be fine..
Satish On Thu, 25 Jun 2015, Barry Smith wrote: > > Looks reasonable to me. > > 30 seconds seems a bit long; if it has not made a successful connection in > say 10 seconds it seems unlikely 20 more will help? > > > > Barry > > > On Jun 25, 2015, at 12:56 PM, Satish Balay <[email protected]> wrote: > > > > Or perhaps the following [set timeout before urlretrieve - and reset after] > > > > Satish > > > > ----- > > $ git diff |cat > > diff --git a/config/BuildSystem/retrieval.py > > b/config/BuildSystem/retrieval.py > > index 1875a07..0b1545e 100644 > > --- a/config/BuildSystem/retrieval.py > > +++ b/config/BuildSystem/retrieval.py > > @@ -4,6 +4,8 @@ import os > > import urllib > > import urlparse > > import config.base > > +import socket > > + > > # Fix parsing for nonstandard schemes > > urlparse.uses_netloc.extend(['bk', 'ssh', 'svn']) > > > > @@ -56,8 +58,12 @@ class Retriever(logger.Logger): > > os.unlink(localFile) > > > > try: > > + sav_timeout = socket.getdefaulttimeout() > > + socket.setdefaulttimeout(30) > > urllib.urlretrieve(url, localFile) > > + socket.setdefaulttimeout(sav_timeout) > > except Exception, e: > > + socket.setdefaulttimeout(sav_timeout) > > failureMessage = '''\ > > Unable to download package %s from: %s > > * If URL specified manually - perhaps there is a typo? > > > > > > On Thu, 25 Jun 2015, Satish Balay wrote: > > > >> Looks like the following is a way to timeout urllib.urlretrieve() > >> > >> diff --git a/config/BuildSystem/retrieval.py > >> b/config/BuildSystem/retrieval.py > >> index 1875a07..fb5059d 100644 > >> --- a/config/BuildSystem/retrieval.py > >> +++ b/config/BuildSystem/retrieval.py > >> @@ -4,6 +4,9 @@ import os > >> import urllib > >> import urlparse > >> import config.base > >> +import socket > >> +socket.setdefaulttimeout(30) > >> + > >> # Fix parsing for nonstandard schemes > >> urlparse.uses_netloc.extend(['bk', 'ssh', 'svn']) > >> > >> > >> However - it appears to be a global timeout [for all sockets created from > >> python?] Should we use this? > >> > >> Satish > >> > >> > >> On Thu, 25 Jun 2015, Satish Balay wrote: > >> > >>> We use: > >>> > >>> self.download = > >>> ['http://gforge.inria.fr/frs/download.php/file/34099/scotch_6.0.3.tar.gz', > >>> > >>> 'http://ftp.mcs.anl.gov/pub/petsc/externalpackages/scotch_6.0.3.tar.gz'] > >>> > >>> > >>> So - if the first url fails - configure should use the second one. > >>> > >>> However sometimes configure hangs. I see configure is hanging here - > >>> but weget is not. So perhaps a bug in python urllib? > >>> > >>> [have to check more..] > >>> > >>> Satish > >>> > >>> > >>> On Thu, 25 Jun 2015, Barry Smith wrote: > >>> > >>>> > >>>> Bug report should be sent to the Inria folks. > >>>> > >>>> Barry > >>>> > >>>> I wonder how many French Francs they waste maintaining their own source > >>>> forge instead of using github for free. > >>>> > >>>> > >>>>> On Jun 25, 2015, at 9:55 AM, Stefano Zampini > >>>>> <[email protected]> wrote: > >>>>> > >>>>> It seems that —download-ptscotch is broken right now, since the code > >>>>> repository on gforge.inria.fr is not accessible anymore as an anonymous > >>>>> user. > >>>>> > >>>>> Stefano > >>>> > >>>> > >>> > >> > >
