summaryrefslogtreecommitdiffstats
path: root/geo-replication/syncdaemon/monitor.py
diff options
context:
space:
mode:
authorSunny Kumar <sunkumar@redhat.com>2019-09-20 09:39:12 +0530
committerKotresh HR <khiremat@redhat.com>2019-09-25 04:46:37 +0000
commit284ecd3ecbfbcc9e7791bacc6305807eb2805fff (patch)
tree979aa4a881818d95ea0897172530be0e43ce08ec /geo-replication/syncdaemon/monitor.py
parent0a2870b33d5d0a3cded21ac1e3071e3fde81bbb6 (diff)
geo-rep: performance improvement while syncing renames with existing gfid
Problem: The bug[1] addresses issue of data inconsistency when handling RENAME with existing destination. This fix requires some performance tuning considering this issue occurs in heavy rename workload. Solution: If distribution count for master volume is one do not verify op's on master and go ahead with rename. The performance improvement with this patch can only be observed if master volume has distribution count one. [1]. https://bugzilla.redhat.com/show_bug.cgi?id=1694820 Backport of: > Patch: https://review.gluster.org/23459/ > BUG: 1753857 > Change-Id: I8e9bcd575e7e35f40f9f78b7961c92dee642f47b > Signed-off-by: Sunny Kumar <sunkumar@redhat.com> (cherry picked from commit 30d3608c43be119f75da7798d88b94601dedcb29) Change-Id: I8e9bcd575e7e35f40f9f78b7961c92dee642f47b Signed-off-by: Sunny Kumar <sunkumar@redhat.com> fixes: bz#1755212
Diffstat (limited to 'geo-replication/syncdaemon/monitor.py')
-rw-r--r--geo-replication/syncdaemon/monitor.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/geo-replication/syncdaemon/monitor.py b/geo-replication/syncdaemon/monitor.py
index c45ef24e59f..296e598b8a9 100644
--- a/geo-replication/syncdaemon/monitor.py
+++ b/geo-replication/syncdaemon/monitor.py
@@ -37,6 +37,8 @@ def get_subvol_num(brick_idx, vol, hot):
tier = vol.is_tier()
disperse_count = vol.disperse_count(tier, hot)
replica_count = vol.replica_count(tier, hot)
+ distribute_count = vol.distribution_count(tier, hot)
+ gconf.setconfig("master-distribution-count", distribute_count)
if (tier and not hot):
brick_idx = brick_idx - vol.get_hot_bricks_count(tier)