From 90b962cae2eb48023f6c62339b1354606b5ea421 Mon Sep 17 00:00:00 2001 From: Soumya Koduri Date: Thu, 28 Aug 2025 19:43:45 +0530 Subject: [PATCH] qa/rgw: Include rgw_restore_processor_period in s3tests Signed-off-by: Soumya Koduri --- qa/suites/rgw/cloud-transition/overrides.yaml | 1 + .../tasks/restore/cloud_restore_s3tests.yaml | 1 + qa/tasks/s3tests.py | 4 ++++ src/rgw/rgw_restore.cc | 5 +++-- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/qa/suites/rgw/cloud-transition/overrides.yaml b/qa/suites/rgw/cloud-transition/overrides.yaml index b35c134125e..1e25002ad79 100644 --- a/qa/suites/rgw/cloud-transition/overrides.yaml +++ b/qa/suites/rgw/cloud-transition/overrides.yaml @@ -12,6 +12,7 @@ overrides: rgw s3 auth use sts: true rgw lc debug interval: 10 rgw_restore_debug_interval: 20 + rgw_restore_processor_period: 10 rgw: storage classes: LUKEWARM: diff --git a/qa/suites/rgw/cloud-transition/tasks/restore/cloud_restore_s3tests.yaml b/qa/suites/rgw/cloud-transition/tasks/restore/cloud_restore_s3tests.yaml index 26b3e70e012..7517720c992 100644 --- a/qa/suites/rgw/cloud-transition/tasks/restore/cloud_restore_s3tests.yaml +++ b/qa/suites/rgw/cloud-transition/tasks/restore/cloud_restore_s3tests.yaml @@ -27,5 +27,6 @@ tasks: extra_attrs: ["cloud_restore"] lc_debug_interval: 10 rgw_restore_debug_interval: 20 + rgw_restore_processor_period: 10 lifecycle_tests: True cloudtier_tests: True diff --git a/qa/tasks/s3tests.py b/qa/tasks/s3tests.py index 8de299171d7..93d370251c1 100644 --- a/qa/tasks/s3tests.py +++ b/qa/tasks/s3tests.py @@ -372,6 +372,10 @@ def configure(ctx, config): if rgw_restore_debug_interval: s3tests_conf['s3 main']['rgw_restore_debug_interval'] = rgw_restore_debug_interval + rgw_restore_processor_period = properties.get('rgw_restore_processor_period') + if rgw_restore_processor_period: + s3tests_conf['s3 main']['rgw_restore_processor_period'] = rgw_restore_processor_period + if ctx.rgw_cloudtier is not None: log.info(' ctx.rgw_cloudtier config is %s ...', ctx.rgw_cloudtier.config) client_rgw_config = ctx.rgw_cloudtier.config.get(client) diff --git a/src/rgw/rgw_restore.cc b/src/rgw/rgw_restore.cc index 87f805259ee..2d9a61d0777 100644 --- a/src/rgw/rgw_restore.cc +++ b/src/rgw/rgw_restore.cc @@ -341,13 +341,14 @@ int Restore::process(int index, int max_secs, optional_yield y) ret = process_restore_entry(entry, y); if (!ret && entry.status == rgw::sal::RGWRestoreStatus::RestoreAlreadyInProgress) { - r_entries.push_back(entry); + r_entries.push_back(entry); ldpp_dout(this, 20) << __PRETTY_FUNCTION__ << ": re-pushing entry: '" << entry << "' on shard:" << obj_names[index] << dendl; } - if (ret < 0) + // Skip the entry of object/bucket which no longer exists + if (ret < 0 && (ret != -ENOENT)) goto done; ///process all entries, trim and re-add -- 2.39.5