summaryrefslogtreecommitdiffstats
path: root/xlators/features/marker/utils/syncdaemon/master.py
diff options
context:
space:
mode:
authorCsaba Henk <csaba@gluster.com>2011-03-10 00:42:33 +0000
committerVijay Bellur <vijay@dev.gluster.com>2011-03-10 07:39:46 -0800
commit19e65beb16d2dc337d144e25337561ff6e82826a (patch)
treea0c4323fd9f3159a0054f2739119d78bf5222367 /xlators/features/marker/utils/syncdaemon/master.py
parent6cfb0fe84547db1ce8c21f0710cd0c74e88607c0 (diff)
syncademon: fortify handling of failed entries queries
Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1570 (geosync related changes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1570
Diffstat (limited to 'xlators/features/marker/utils/syncdaemon/master.py')
-rw-r--r--xlators/features/marker/utils/syncdaemon/master.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/xlators/features/marker/utils/syncdaemon/master.py b/xlators/features/marker/utils/syncdaemon/master.py
index 1abd03252..0f12f96cf 100644
--- a/xlators/features/marker/utils/syncdaemon/master.py
+++ b/xlators/features/marker/utils/syncdaemon/master.py
@@ -117,7 +117,21 @@ class GMaster(object):
return
if path == '.':
self.change_seen = True
- dem, des = ( x.server.entries(path) for x in (self.master, self.slave) )
+ try:
+ dem = self.master.server.entries(path)
+ except OSError:
+ self.add_failjob(path, 'local-entries-fail')
+ return
+ try:
+ des = self.slave.server.entries(path)
+ except OSError:
+ self.slave.server.purge(path)
+ try:
+ self.slave.server.mkdir(path)
+ des = self.slave.server.entries(path)
+ except OSError:
+ self.add_failjob(path, 'remote-entries-fail')
+ return
dd = set(des) - set(dem)
if dd:
self.slave.server.purge(path, dd)