diff options
author | Kotresh HR <khiremat@redhat.com> | 2017-03-20 05:21:59 -0400 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2017-04-19 06:15:35 -0400 |
commit | 4ec3b624eb265058e3d953e96c1cb2df31c90ebd (patch) | |
tree | 5f22143d838e1faac7414e1f8d9e1e41e6198bf7 /geo-replication/syncdaemon/syncdutils.py | |
parent | 9c7a0aaf73993380c70570f99023b83064a85ddf (diff) |
geo-rep: Retry on EBUSY
Do not crash on EBUSY error. Add EBUSY
retry errno list. Crash only if the error
persists even after max retries.
> BUG: 1434018
> Signed-off-by: Kotresh HR <khiremat@redhat.com>
> Reviewed-on: https://review.gluster.org/16924
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> Reviewed-by: Aravinda VK <avishwan@redhat.com>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Change-Id: Ia067ccc6547731f28f2a315d400705e616cbf662
BUG: 1441930
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: https://review.gluster.org/17052
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Aravinda VK <avishwan@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon/syncdutils.py')
-rw-r--r-- | geo-replication/syncdaemon/syncdutils.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/geo-replication/syncdaemon/syncdutils.py b/geo-replication/syncdaemon/syncdutils.py index 987e1bf186e..c2101c4e7e6 100644 --- a/geo-replication/syncdaemon/syncdutils.py +++ b/geo-replication/syncdaemon/syncdutils.py @@ -487,12 +487,12 @@ def errno_wrap(call, arg=[], errnos=[], retry_errnos=[]): # probably a screwed state, cannot do much... logging.warn('reached maximum retries (%s)...%s' % (repr(arg), ex)) - return ex.errno + raise time.sleep(0.250) # retry the call def lstat(e): - return errno_wrap(os.lstat, [e], [ENOENT], [ESTALE]) + return errno_wrap(os.lstat, [e], [ENOENT], [ESTALE, EBUSY]) class NoPurgeTimeAvailable(Exception): pass |