diff options
author | Aravinda VK <avishwan@redhat.com> | 2014-05-05 11:04:00 +0530 |
---|---|---|
committer | Venky Shankar <vshankar@redhat.com> | 2014-05-09 00:17:59 -0700 |
commit | 65757e0f57f93103d87fdf9534c5ca25b66d14b7 (patch) | |
tree | 9536b28ac93d7a45d76cd30c2aaa975b9ab26c62 | |
parent | 93129e862a2dde291ddbf22fe30d955b25da6059 (diff) |
geo-rep: Changelog History consumption more fixes
Number of parallel threads to process changelog history
is made configurable via sync_jobs
Change-Id: Idcd8e655d9df540cfa48648b9e98af941f95e9d0
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/7660
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Venky Shankar <vshankar@redhat.com>
-rw-r--r-- | geo-replication/syncdaemon/libgfchangelog.py | 5 | ||||
-rw-r--r-- | geo-replication/syncdaemon/master.py | 10 | ||||
-rw-r--r-- | geo-replication/syncdaemon/resource.py | 11 |
3 files changed, 14 insertions, 12 deletions
diff --git a/geo-replication/syncdaemon/libgfchangelog.py b/geo-replication/syncdaemon/libgfchangelog.py index 099867a511a..e6bfbefd0a6 100644 --- a/geo-replication/syncdaemon/libgfchangelog.py +++ b/geo-replication/syncdaemon/libgfchangelog.py @@ -85,8 +85,9 @@ class Changes(object): return ret @classmethod - def cl_history_changelog(cls, changelog_path, start, end): - ret = cls._get_api('gf_history_changelog')(changelog_path, start, end) + def cl_history_changelog(cls, changelog_path, start, end, num_parallel): + ret = cls._get_api('gf_history_changelog')(changelog_path, start, end, + num_parallel) if ret == -1: cls.raise_changelog_err() diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index 3047c99050e..b6a7c894814 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -1128,19 +1128,12 @@ class GMasterChangelogMixin(GMasterCommon): self.process(changes) def register(self): - (workdir, logfile) = self.setup_working_dir() self.sleep_interval = int(gconf.change_interval) self.changelog_done_func = self.master.server.changelog_done - # register with the changelog library - # 9 == log level (DEBUG) - # 5 == connection retries - self.master.server.changelog_register(gconf.local_path, - workdir, logfile, 9, 5) class GMasterChangeloghistoryMixin(GMasterChangelogMixin): def register(self): - super(GMasterChangeloghistoryMixin, self).register() self.changelog_register_time = int(time.time()) self.changelog_done_func = self.master.server.history_changelog_done @@ -1166,7 +1159,8 @@ class GMasterChangeloghistoryMixin(GMasterChangelogMixin): ".glusterfs/changelogs") ts = self.master.server.history_changelog(changelog_path, purge_time[0], - self.changelog_register_time) + self.changelog_register_time, + int(gconf.sync_jobs)) # scan followed by getchanges till scan returns zero. # history_changelog_scan() is blocking call, till it gets the number diff --git a/geo-replication/syncdaemon/resource.py b/geo-replication/syncdaemon/resource.py index f0f6692cae2..185722f5df0 100644 --- a/geo-replication/syncdaemon/resource.py +++ b/geo-replication/syncdaemon/resource.py @@ -685,8 +685,9 @@ class Server(object): Changes.cl_done(clfile) @classmethod - def history_changelog(cls, changelog_path, start, end): - return Changes.cl_history_changelog(changelog_path, start, end) + def history_changelog(cls, changelog_path, start, end, num_parallel): + return Changes.cl_history_changelog(changelog_path, start, end, + num_parallel) @classmethod def history_changelog_scan(cls): @@ -1312,6 +1313,12 @@ class GLUSTER(AbstractUrl, SlaveLocal, SlaveRemote): # g3 ==> changelog History g1.register() try: + (workdir, logfile) = g2.setup_working_dir() + # register with the changelog library + # 9 == log level (DEBUG) + # 5 == connection retries + brickserver.changelog_register(gconf.local_path, + workdir, logfile, 9, 5) g2.register() g3.register() except ChangelogException as e: |