From 7e3691aa7a0b90d161dc9076fea2cc80355fe575 Mon Sep 17 00:00:00 2001 From: "lu.shasha" Date: Fri, 14 Apr 2017 17:22:37 +0800 Subject: [PATCH] rgw: add 'state==SyncState::IncrementalSync' condition when add item to shards_behind. after running 'radosgw-admin data sync init', the sync_marker's state will change to FullSync, but the marker didn't clean. So 'sync status' command will wrongly inset shards_behind. Signed-off-by: Shasha Lu --- src/rgw/rgw_admin.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index de1b3b62bf2a..e8bdf9a0c336 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -1897,7 +1897,8 @@ static void get_md_sync_status(list& status) continue; } auto master_marker = iter->second.marker; - if (master_marker > local_iter.second.marker) { + if (local_iter.second.state == rgw_meta_sync_marker::SyncState::IncrementalSync && + master_marker > local_iter.second.marker) { shards_behind[shard_id] = local_iter.second.marker; } } @@ -2044,7 +2045,8 @@ static void get_data_sync_status(const string& source_zone, list& status continue; } auto master_marker = iter->second.marker; - if (master_marker > local_iter.second.marker) { + if (local_iter.second.state == rgw_data_sync_marker::SyncState::IncrementalSync && + master_marker > local_iter.second.marker) { shards_behind[shard_id] = local_iter.second.marker; } } -- 2.47.3