mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
sync: Handle race condition when reading active jobs
It's possible that number of jobs is more than 0 when we check length, but in the meantime number of jobs drops to 0. In that case, we are working with float(inf) which causes other problems Bug: 284383869 Change-Id: I5d070d1be428f8395df7fde8ca84866db46f2100 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/375134 Reviewed-by: Mike Frysinger <vapier@google.com> Commit-Queue: Josip Sokcevic <sokcevic@google.com> Tested-by: Josip Sokcevic <sokcevic@google.com> Reviewed-by: Gavin Mak <gavinmak@google.com>
This commit is contained in:
parent
07a4529278
commit
71122f941f
@ -677,9 +677,6 @@ later is required to fix a server side protocol bug.
|
|||||||
cls.ssh_proxy = ssh_proxy
|
cls.ssh_proxy = ssh_proxy
|
||||||
|
|
||||||
def _GetSyncProgressMessage(self):
|
def _GetSyncProgressMessage(self):
|
||||||
if len(self._sync_dict) == 0:
|
|
||||||
return None
|
|
||||||
|
|
||||||
earliest_time = float("inf")
|
earliest_time = float("inf")
|
||||||
earliest_proj = None
|
earliest_proj = None
|
||||||
for project, t in self._sync_dict.items():
|
for project, t in self._sync_dict.items():
|
||||||
@ -687,6 +684,9 @@ later is required to fix a server side protocol bug.
|
|||||||
earliest_time = t
|
earliest_time = t
|
||||||
earliest_proj = project
|
earliest_proj = project
|
||||||
|
|
||||||
|
if not earliest_proj:
|
||||||
|
return None
|
||||||
|
|
||||||
elapsed = time.time() - earliest_time
|
elapsed = time.time() - earliest_time
|
||||||
jobs = jobs_str(len(self._sync_dict))
|
jobs = jobs_str(len(self._sync_dict))
|
||||||
return f"{jobs} | {elapsed_str(elapsed)} {earliest_proj}"
|
return f"{jobs} | {elapsed_str(elapsed)} {earliest_proj}"
|
||||||
|
Loading…
Reference in New Issue
Block a user