From b372872d62a293983aba00050dc5d7576729496d Mon Sep 17 00:00:00 2001 From: Shilpa Jagannath Date: Mon, 1 Dec 2025 15:56:46 -0500 Subject: [PATCH] rgw/multisite: drain children before collect() returns error in RGWInitDataSyncStatusCoroutine() Signed-off-by: Shilpa Jagannath --- src/rgw/driver/rados/rgw_data_sync.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rgw/driver/rados/rgw_data_sync.cc b/src/rgw/driver/rados/rgw_data_sync.cc index bb95f6bd0ef..76262d7d0bd 100644 --- a/src/rgw/driver/rados/rgw_data_sync.cc +++ b/src/rgw/driver/rados/rgw_data_sync.cc @@ -635,7 +635,8 @@ public: while (collect(&ret, NULL)) { if (ret < 0) { tn->log(0, SSTR("ERROR: failed to read remote data log shards")); - return set_state(RGWCoroutine_Error); + drain_all(); + return set_cr_error(ret); } yield; } @@ -657,7 +658,8 @@ public: while (collect(&ret, NULL)) { if (ret < 0) { tn->log(0, SSTR("ERROR: failed to write data sync status markers")); - return set_state(RGWCoroutine_Error); + drain_all(); + return set_cr_error(ret); } yield; } -- 2.47.3