From 915404255f32cf92975e3ac82c8f775bb97cc8a5 Mon Sep 17 00:00:00 2001 From: Tianshan Qu Date: Thu, 1 Feb 2018 01:25:55 +0800 Subject: [PATCH] rgw: do not reflect period if not current if some history period not exist in local, it will pull from master and update the old info to zonegroup. fixes: http://tracker.ceph.com/issues/22844 Signed-off-by: Tianshan Qu --- src/rgw/rgw_period_puller.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_period_puller.cc b/src/rgw/rgw_period_puller.cc index 2c811a358ba1a..29d3a0052bbe6 100644 --- a/src/rgw/rgw_period_puller.cc +++ b/src/rgw/rgw_period_puller.cc @@ -95,9 +95,11 @@ int RGWPeriodPuller::pull(const std::string& period_id, RGWPeriod& period) return r; } // reflect period objects if this is the latest version - r = period.reflect(); - if (r < 0) { - return r; + if (store->realm.get_current_period() == period_id) { + r = period.reflect(); + if (r < 0) { + return r; + } } ldout(store->ctx(), 14) << "period " << period_id << " pulled and written to local storage" << dendl; -- 2.39.5