From aa27fba4b5667370e5c67a9ad1a2fe4ca5ddf47d Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Thu, 6 Apr 2017 09:58:23 -0400 Subject: [PATCH 375/375] geo-rep: Fix cherry-pick issues Following cherry-picks from upstream had issues and fixed the same. 1. https://code.engineering.redhat.com/gerrit/101284 2. https://code.engineering.redhat.com/gerrit/101291 3. https://code.engineering.redhat.com/gerrit/101413 Label: DOWNSTREAM ONLY Change-Id: Idd274c8ca0d31632159e0547ed80d9bbb40873ee BUG: 1439708 Signed-off-by: Kotresh HR Reviewed-on: https://code.engineering.redhat.com/gerrit/102726 Reviewed-by: Atin Mukherjee --- geo-replication/syncdaemon/gsyncdstatus.py | 1 + geo-replication/syncdaemon/master.py | 6 +++--- geo-replication/syncdaemon/resource.py | 11 ----------- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/geo-replication/syncdaemon/gsyncdstatus.py b/geo-replication/syncdaemon/gsyncdstatus.py index 266cf5a..9b202ce 100644 --- a/geo-replication/syncdaemon/gsyncdstatus.py +++ b/geo-replication/syncdaemon/gsyncdstatus.py @@ -274,6 +274,7 @@ class GeorepStatus(object): def set_passive(self): if self.set_field("worker_status", "Passive"): logging.info("Worker Status: Passive") + self.send_event(EVENT_GEOREP_PASSIVE) def get_monitor_status(self): data = "" diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index fb68525..96542ae 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -780,6 +780,9 @@ class GMasterChangelogMixin(GMasterCommon): num_failures += 1 logging.error('%s FAILED: %s' % (log_prefix, repr(failure))) + if failure[0]['op'] == 'MKDIR': + raise GsyncdError("The above directory failed to sync." + " Please fix it to proceed further.") self.status.inc_value("failures", num_failures) @@ -1166,9 +1169,6 @@ class GMasterChangeloghistoryMixin(GMasterChangelogMixin): if not purge_time or purge_time == URXTIME: raise NoPurgeTimeAvailable() - if not data_stime or data_stime == URXTIME: - raise NoStimeAvailable() - # Changelogs backend path is hardcoded as # /.glusterfs/changelogs, if user configured to different # location then consuming history will not work(Known issue as of now) diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index 3ba5cf2..e81ddfe 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -551,17 +551,6 @@ class Server(object): @classmethod @_pathguard - def set_entry_stime(cls, path, uuid, mark): - """set @mark as stime for @uuid on @path""" - errno_wrap(Xattr.lsetxattr, - [path, - '.'.join([cls.GX_NSPACE, uuid, 'entry_stime']), - struct.pack('!II', *mark)], - [ENOENT], - [ESTALE, EINVAL]) - - @classmethod - @_pathguard def set_xtime(cls, path, uuid, mark): """set @mark as xtime for @uuid on @path""" errno_wrap(Xattr.lsetxattr, -- 1.8.3.1