From 81c23745c19a1fb67270626e84b0e3bf7b3ae905 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Thu, 1 Oct 2015 21:06:13 +0200 Subject: [PATCH] rgw: improve handling of already removed buckets in object expirer. Fixes: #13326 Backport: infernalis Signed-off-by: Radoslaw Zarzynski --- src/rgw/rgw_object_expirer_core.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/rgw/rgw_object_expirer_core.cc b/src/rgw/rgw_object_expirer_core.cc index 48577fe1967e7..59035111db2a8 100644 --- a/src/rgw/rgw_object_expirer_core.cc +++ b/src/rgw/rgw_object_expirer_core.cc @@ -57,8 +57,13 @@ int RGWObjectExpirer::garbage_single_object(objexp_hint_entry& hint) RGWBucketInfo bucket_info; int ret = init_bucket_info(hint.bucket_name, hint.bucket_id, bucket_info); - if (ret < 0) { - ldout(store->ctx(), 1) << "ERROR: could not init bucket: " << cpp_strerror(-ret) << dendl; + if (-ENOENT == ret) { + ldout(store->ctx(), 15) << "NOTICE: cannot find bucket = " \ + << hint.bucket_name << ". The object must be already removed" << dendl; + return -ERR_PRECONDITION_FAILED; + } else if (ret < 0) { + ldout(store->ctx(), 1) << "ERROR: could not init bucket = " \ + << hint.bucket_name << "due to ret = " << ret << dendl; return ret; } -- 2.39.5