From: Casey Bodley Date: Mon, 13 Aug 2018 19:47:29 +0000 (-0400) Subject: rgw: data sync checks whether the lease failed to renew X-Git-Tag: v12.2.10~30^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4ff72f1532681d414e8fbdeea1d7ef522c9cb93a;p=ceph.git rgw: data sync checks whether the lease failed to renew Signed-off-by: Casey Bodley (cherry pick from commit 3754871) Signed-off-by: Jonathan Brielmaier Conflicts: src/rgw/rgw_data_sync.cc: trivial --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 5ec99df339b1..dca9ea9196e1 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -1252,6 +1252,11 @@ public: set_marker_tracker(new RGWDataSyncShardMarkerTrack(sync_env, status_oid, sync_marker)); total_entries = sync_marker.pos; do { + if (!lease_cr->is_locked()) { + stop_spawned_services(); + drain_all(); + return set_cr_error(-ECANCELED); + } yield call(new RGWRadosGetOmapKeysCR(sync_env->store, rgw_raw_obj(pool, oid), sync_marker.marker, &entries, max_entries)); if (retcode < 0) { ldout(sync_env->cct, 0) << "ERROR: " << __func__ << "(): RGWRadosGetOmapKeysCR() returned ret=" << retcode << dendl; @@ -1334,6 +1339,11 @@ public: logger.log("inc sync"); set_marker_tracker(new RGWDataSyncShardMarkerTrack(sync_env, status_oid, sync_marker)); do { + if (!lease_cr->is_locked()) { + stop_spawned_services(); + drain_all(); + return set_cr_error(-ECANCELED); + } current_modified.clear(); inc_lock.Lock(); current_modified.swap(modified_shards);