diff options
| author | Aravinda VK <avishwan@redhat.com> | 2015-05-26 13:01:17 +0530 | 
|---|---|---|
| committer | Venky Shankar <vshankar@redhat.com> | 2015-05-30 22:19:08 -0700 | 
| commit | 5863ab43d7f3b045f5b889b98f73687b07b3f0e8 (patch) | |
| tree | e6bce8afc00cd853b0cf4ab64b3bb51878aa078b /geo-replication | |
| parent | 35f7d213fe7395ba502a8e209b04c2be1ea75928 (diff) | |
geo-rep: Fix Data counter issue in status
ENTRY and META operations executed sequentially, DATA operations
are handled async, increment happens when a changelog parsed.
Decrement happens after the sync of all files.
'files_in_batch' was reset multiple times in batch instead of once.
BUG: 1224098
Change-Id: I87617f2fd5f4d3221a1c9f9d5a8efb0686c42bbe
Signed-off-by: Aravinda VK <avishwan@redhat.com>
Reviewed-on: http://review.gluster.org/10911
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'geo-replication')
| -rw-r--r-- | geo-replication/syncdaemon/master.py | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/geo-replication/syncdaemon/master.py b/geo-replication/syncdaemon/master.py index aedfc232b07..e05dc376662 100644 --- a/geo-replication/syncdaemon/master.py +++ b/geo-replication/syncdaemon/master.py @@ -895,8 +895,8 @@ class GMasterChangelogMixin(GMasterCommon):          # Increment counters for Status          self.status.inc_value("entry", len(entries)) -        self.files_in_batch = len(datas) -        self.status.inc_value("data", self.files_in_batch) +        self.files_in_batch += len(datas) +        self.status.inc_value("data", len(datas))          # sync namespace          if entries: @@ -930,6 +930,7 @@ class GMasterChangelogMixin(GMasterCommon):          tries = 0          retry = False          self.unlinked_gfids = [] +        self.files_in_batch = 0          while True:              self.skipped_gfid_list = [] @@ -983,6 +984,8 @@ class GMasterChangelogMixin(GMasterCommon):                      self.status.set_last_synced(xtl, checkpoint_time)                      map(self.changelog_done_func, changes)                      self.archive_and_purge_changelogs(changes) + +                # Reset Data counter after sync                  self.status.dec_value("data", self.files_in_batch)                  self.files_in_batch = 0                  break @@ -999,7 +1002,10 @@ class GMasterChangelogMixin(GMasterCommon):                  logging.warn('SKIPPED GFID = %s' %                               ','.join(self.skipped_gfid_list)) +                # Reset data counter on failure +                self.status.dec_value("data", self.files_in_batch)                  self.files_in_batch = 0 +                  if done:                      xtl = (int(change.split('.')[-1]) - 1, 0)                      self.upd_stime(xtl) @@ -1022,6 +1028,10 @@ class GMasterChangelogMixin(GMasterCommon):              # TODO: remove entry retries when it's gets fixed.              logging.warn('incomplete sync, retrying changelogs: %s' %                           ' '.join(map(os.path.basename, changes))) + +            # Reset the Data counter before Retry +            self.status.dec_value("data", self.files_in_batch) +            self.files_in_batch = 0              time.sleep(0.5)      def upd_stime(self, stime, path=None):  | 
