The get_obj_state() failure in particular could indicate a race with
an object being deleted, so likely is non-fatal. By returning, lifecycle
processing for the current bi-shard would not resume until re-scheduled,
likely in 24 hours.
Fixes: https://tracker.ceph.com/issues/43269
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
RGWObjState *state;
int ret = store->get_obj_state(&rctx, bucket_info, obj, &state, false);
if (ret < 0) {
- return ret;
+ ldout(cct,5) << "ERROR: get_obj_state() failed for key=" << key << dendl;
+ continue;
}
if (state->mtime != obj_iter->meta.mtime)//Check mtime again to avoid delete a recently update object as much as possible
continue;
RGWObjState *state;
int ret = store->get_obj_state(&rctx, bucket_info, obj, &state, false);
if (ret < 0) {
- return ret;
+ ldout(cct,5) << "ERROR: get_obj_state() failed for key=" << obj_iter->key << dendl;
}
if (state->mtime != obj_iter->meta.mtime)//Check mtime again to avoid delete a recently update object as much as possible
continue;