From: Yehuda Sadeh Date: Fri, 3 Jun 2016 09:03:13 +0000 (-0700) Subject: rgw: stop bucket lease only after draining object sync operations X-Git-Tag: v11.0.0~89^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=be6ad9a76c3008ea25a737c0de718faab8fca611;p=ceph.git rgw: stop bucket lease only after draining object sync operations Fixes: http://tracker.ceph.com/issues/16143 Signed-off-by: Yehuda Sadeh --- diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index 434e0f37014a..fad1121814c7 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -2332,6 +2332,7 @@ int RGWBucketShardIncrementalSyncCR::operate() inc_marker.position, &list_result)); if (retcode < 0 && retcode != -ENOENT) { /* wait for all operations to complete */ + drain_all_but(1); lease_cr->go_down(); drain_all(); return set_cr_error(retcode); @@ -2436,11 +2437,13 @@ int RGWBucketShardIncrementalSyncCR::operate() } if (retcode < 0) { ldout(sync_env->cct, 0) << "ERROR: marker_tracker->flush() returned retcode=" << retcode << dendl; + drain_all_but(1); lease_cr->go_down(); drain_all(); return set_cr_error(retcode); } + drain_all_but(1); lease_cr->go_down(); /* wait for all operations to complete */ drain_all();