diff options
author | Csaba Henk <csaba@gluster.com> | 2011-03-10 00:42:33 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2011-03-10 07:39:46 -0800 |
commit | 19e65beb16d2dc337d144e25337561ff6e82826a (patch) | |
tree | a0c4323fd9f3159a0054f2739119d78bf5222367 /xlators/features/marker/utils/syncdaemon/master.py | |
parent | 6cfb0fe84547db1ce8c21f0710cd0c74e88607c0 (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.py | 16 |
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 1abd0325..0f12f96c 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) |