Mercurial > hg
diff hgext/remotefilelog/repack.py @ 42842:2c74337e6483
remotefilelog: reduce probability of race-condition in remotefilelog tests
ca1014ad3de4 introduced a new parameter `ensurestart` to speed up
remotefilelog background processes start. Unfortunately it seems to have
increased the possibility of race-conditions in remotefilelog tests testing
those background processes.
With `ensurestart=False`, it seems that it's more probable to enter in a race
condition with `debugwaitonprefetch` and `debugwaitonrepack` in remotefilelog
background tests. Our CI seems to have a high probability of triggering this
race condition so make it configurable to ensure tests are stable.
Differential Revision: https://phab.mercurial-scm.org/D6772
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 28 Aug 2019 16:01:16 +0200 |
parents | df1419c5756a |
children | 5fadf6103790 |
line wrap: on
line diff
--- a/hgext/remotefilelog/repack.py Sat Aug 31 14:12:38 2019 +0900 +++ b/hgext/remotefilelog/repack.py Wed Aug 28 16:01:16 2019 +0200 @@ -34,7 +34,8 @@ class RepackAlreadyRunning(error.Abort): pass -def backgroundrepack(repo, incremental=True, packsonly=False): +def backgroundrepack(repo, incremental=True, packsonly=False, + ensurestart=False): cmd = [procutil.hgexecutable(), '-R', repo.origroot, 'repack'] msg = _("(running background repack)\n") if incremental: @@ -44,7 +45,7 @@ cmd.append('--packsonly') repo.ui.warn(msg) # We know this command will find a binary, so don't block on it starting. - procutil.runbgcommand(cmd, encoding.environ, ensurestart=False) + procutil.runbgcommand(cmd, encoding.environ, ensurestart=ensurestart) def fullrepack(repo, options=None): """If ``packsonly`` is True, stores creating only loose objects are skipped.