diff --git a/src/v/archival/ntp_archiver_service.cc b/src/v/archival/ntp_archiver_service.cc index b1fd78970812..a5b6cee02898 100644 --- a/src/v/archival/ntp_archiver_service.cc +++ b/src/v/archival/ntp_archiver_service.cc @@ -767,9 +767,8 @@ ss::future ntp_archiver::maybe_upload_manifest(const char* upload_ctx) { ss::future<> ntp_archiver::maybe_flush_manifest_clean_offset() { if ( - _projected_manifest_clean_at.has_value() - && ss::lowres_clock::now() - _last_marked_clean_time - > _manifest_upload_interval()) { + local_storage_pressure() + || (_projected_manifest_clean_at.has_value() && ss::lowres_clock::now() - _last_marked_clean_time > _manifest_upload_interval())) { co_return co_await flush_manifest_clean_offset(); } } @@ -1805,12 +1804,8 @@ ss::future<> ntp_archiver::housekeeping() { // external housekeeping jobs from upload_housekeeping_service // and retention/GC auto units = co_await ss::get_units(_mutex, 1, _as); - const auto retention_updated_manifest = co_await apply_retention(); - const auto gc_updated_manifest = co_await garbage_collect(); - if (retention_updated_manifest || gc_updated_manifest) { - co_await upload_manifest(housekeeping_ctx_label); - co_await flush_manifest_clean_offset(); - } + co_await apply_retention(); + co_await garbage_collect(); } } catch (std::exception& e) { vlog(_rtclog.warn, "Error occured during housekeeping", e.what());