diff options
author | Aravinda VK <avishwan@redhat.com> | 2016-09-06 12:02:02 +0530 |
---|---|---|
committer | Aravinda VK <avishwan@redhat.com> | 2016-09-14 23:30:18 -0700 |
commit | ed7d5042b68d1f25cc6c957ad9a0d82b1090fad0 (patch) | |
tree | dfc33a36c57c9278f98e34c4452c5352e819074c /geo-replication/syncdaemon | |
parent | 0da3b27e1483a55a63511b4c851f4f1f14c9eacd (diff) |
geo-rep: Fix ESTALE/EINVAL issue during set_{xtime,stime}
Setfattr may get ESTALE/EINVAL if a file is being unlinked.
To prevent worker crashing, added retry for these error messages.
On second retry it will get ENOENT and that error is handled by
ignoring.
> Reviewed-on: http://review.gluster.org/15404
> Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com>
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
> Reviewed-by: Kotresh HR <khiremat@redhat.com>
> Smoke: Gluster Build System <jenkins@build.gluster.org>
BUG: 1374627
Change-Id: Ic660fa13208366d57c8d3d492bbef611475e45b7
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/15452
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Saravanakumar Arumugam <sarumuga@redhat.com>
Diffstat (limited to 'geo-replication/syncdaemon')
-rw-r--r-- | geo-replication/syncdaemon/resource.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index db20fabeecc..d372203a7ea 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -546,7 +546,8 @@ class Server(object): [path, '.'.join([cls.GX_NSPACE, uuid, 'stime']), struct.pack('!II', *mark)], - [ENOENT]) + [ENOENT], + [ESTALE, EINVAL]) @classmethod @_pathguard @@ -556,7 +557,8 @@ class Server(object): [path, '.'.join([cls.GX_NSPACE, uuid, 'xtime']), struct.pack('!II', *mark)], - [ENOENT]) + [ENOENT], + [ESTALE, EINVAL]) @classmethod @_pathguard |