hgext/remotefilelog/basestore.py
changeset 41501 13dad5cb4b99
parent 41266 92cf293fd93d
child 43076 2372284d9457
equal deleted inserted replaced
41500:8c13f7b0ace6 41501:13dad5cb4b99
   408         def noop(*args):
   408         def noop(*args):
   409             pass
   409             pass
   410         def wrapped(self, *args, **kwargs):
   410         def wrapped(self, *args, **kwargs):
   411             retrylog = self.retrylog or noop
   411             retrylog = self.retrylog or noop
   412             funcname = fn.__name__
   412             funcname = fn.__name__
   413             for i in pycompat.xrange(self.numattempts):
   413             i = 0
       
   414             while i < self.numattempts:
   414                 if i > 0:
   415                 if i > 0:
   415                     retrylog('re-attempting (n=%d) %s\n' % (i, funcname))
   416                     retrylog('re-attempting (n=%d) %s\n' % (i, funcname))
   416                     self.markforrefresh()
   417                     self.markforrefresh()
       
   418                 i += 1
   417                 try:
   419                 try:
   418                     return fn(self, *args, **kwargs)
   420                     return fn(self, *args, **kwargs)
   419                 except KeyError:
   421                 except KeyError:
   420                     pass
   422                     if i == self.numattempts:
   421             # retries exhausted
   423                         # retries exhausted
   422             retrylog('retries exhausted in %s, raising KeyError\n' %
   424                         retrylog('retries exhausted in %s, raising KeyError\n' %
   423                      pycompat.sysbytes(funcname))
   425                                  pycompat.sysbytes(funcname))
   424             raise
   426                         raise
   425         return wrapped
   427         return wrapped