From 63e14893cc7dc6a3aec92c0867ce5e3e67f44b29 Mon Sep 17 00:00:00 2001 From: Yuval Lifshitz Date: Thu, 16 Nov 2023 15:47:06 +0000 Subject: [PATCH] rgw/notifications: cleanup all coroutines after sending the notification this is fixing a regression from: 6b6592f50b6b81fa13a330bcb91273ba7f25c0c9 Fixes: https://tracker.ceph.com/issues/63580 Signed-off-by: Yuval Lifshitz --- src/rgw/rgw_op.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index dc802b4c45287..3accf03e49689 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -7283,7 +7283,6 @@ void RGWDeleteMultiObj::handle_individual_object(const rgw_obj_key& o, optional_ op_ret = 0; } - send_partial_response(o, del_op->result.delete_marker, del_op->result.version_id, op_ret, formatter_flush_cond); // send request to notification manager int ret = res->publish_commit(this, obj_size, ceph::real_clock::now(), etag, version_id); @@ -7291,6 +7290,8 @@ void RGWDeleteMultiObj::handle_individual_object(const rgw_obj_key& o, optional_ ldpp_dout(this, 1) << "ERROR: publishing notification failed, with error: " << ret << dendl; // too late to rollback operation, hence op_ret is not set here } + + send_partial_response(o, del_op->result.delete_marker, del_op->result.version_id, op_ret, formatter_flush_cond); } void RGWDeleteMultiObj::execute(optional_yield y)