From b8bf33ba37e45ecda80860fca0c2de4dda906869 Mon Sep 17 00:00:00 2001 From: Yuval Lifshitz Date: Thu, 27 May 2021 18:54:31 +0300 Subject: [PATCH] rgw/multisite: remove the retry mechanism when writign the sync status object Signed-off-by: Yuval Lifshitz --- src/rgw/rgw_data_sync.cc | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/src/rgw/rgw_data_sync.cc b/src/rgw/rgw_data_sync.cc index d1d976cb71ab2..01a039fc0d2a7 100644 --- a/src/rgw/rgw_data_sync.cc +++ b/src/rgw/rgw_data_sync.cc @@ -3002,10 +3002,6 @@ class InitBucketShardStatusCR : public RGWCoroutine { const uint64_t latest_gen; const BucketIndexShardsManager& marker_mgr; - int tries = 10; // retry on racing writes - bool exclusive = true; // first try is exclusive - using ReadCR = RGWReadBucketPipeSyncStatusCoroutine; - using InitCR = RGWInitBucketShardSyncStatusCoroutine; public: InitBucketShardStatusCR(RGWDataSyncCtx* sc, const rgw_bucket_sync_pair_info& pair, @@ -3015,32 +3011,14 @@ class InitBucketShardStatusCR : public RGWCoroutine { {} int operate(const DoutPrefixProvider *dpp) { reenter(this) { - // try exclusive create with empty status + // non exclusive create with empty status objv.generate_new_write_ver(cct); - yield call(new InitCR(sc, pair, status, latest_gen, marker_mgr, objv, exclusive)); - if (retcode >= 0) { - return set_cr_done(); - } else if (retcode != -EEXIST) { + yield call(new RGWInitBucketShardSyncStatusCoroutine(sc, pair, status, latest_gen, marker_mgr, objv, false)); + if (retcode < 0) { + assert(retcode != -EEXIST && retcode != -ECANCELED); return set_cr_error(retcode); } - - exclusive = false; - // retry loop to reinitialize - while (--tries) { - objv.clear(); - // read current status and objv - yield call(new ReadCR(sc, pair, &status, &objv, latest_gen)); - if (retcode < 0) { - return set_cr_error(retcode); - } - yield call(new InitCR(sc, pair, status, latest_gen, marker_mgr, objv, exclusive)); - if (retcode >= 0) { - return set_cr_done(); - } else if (retcode != -ECANCELED) { - return set_cr_error(retcode); - } - } - return set_cr_error(retcode); + return set_cr_done(); } return 0; } -- 2.39.5