From 7207975c517a0d41d8c6f07cc5a66c08549dfe65 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Mon, 21 Apr 2025 14:13:46 +0000 Subject: [PATCH] crimson/osd: Verbose assert_all aborts Signed-off-by: Matan Breizman --- src/crimson/osd/osd_operations/client_request.cc | 2 +- .../osd/osd_operations/internal_client_request.cc | 11 ++++------- src/crimson/osd/osd_operations/snaptrim_event.cc | 3 ++- src/crimson/osd/pg.cc | 3 ++- src/crimson/osd/pg_backend.cc | 5 +++-- src/crimson/osd/recovery_backend.cc | 2 +- src/crimson/osd/replicated_recovery_backend.cc | 6 ++++-- 7 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/crimson/osd/osd_operations/client_request.cc b/src/crimson/osd/osd_operations/client_request.cc index e97525f9ad1..c1a83041031 100644 --- a/src/crimson/osd/osd_operations/client_request.cc +++ b/src/crimson/osd/osd_operations/client_request.cc @@ -316,7 +316,7 @@ ClientRequest::recover_missing_snaps( } return seastar::now(); }).handle_error_interruptible( - crimson::ct_error::assert_all("unexpected error") + crimson::ct_error::assert_all(fmt::format("{} {} error", *pg, FNAME).c_str()) ); co_await std::move(resolve_oids); diff --git a/src/crimson/osd/osd_operations/internal_client_request.cc b/src/crimson/osd/osd_operations/internal_client_request.cc index b8f7646bc74..dc59189a823 100644 --- a/src/crimson/osd/osd_operations/internal_client_request.cc +++ b/src/crimson/osd/osd_operations/internal_client_request.cc @@ -86,7 +86,8 @@ InternalClientRequest::with_interruption() co_await pg->obc_loader.load_and_lock( obc_manager, pg->get_lock_type(op_info) ).handle_error_interruptible( - crimson::ct_error::assert_all("unexpected error") + crimson::ct_error::assert_all( + fmt::format("{} {} {} error when loading {}",*pg, FNAME, *this, get_target_oid()).c_str()) ); auto params = get_do_osd_ops_params(); @@ -96,12 +97,8 @@ InternalClientRequest::with_interruption() co_await pg->run_executer( ox, obc_manager.get_obc(), op_info, osd_ops ).handle_error_interruptible( - crimson::ct_error::all_same_way( - [this, FNAME](auto e) { - ERRORDPPI("{}: got unexpected error {}", *pg, *this, e); - ceph_assert(0 == "should not return an error"); - return interruptor::now(); - }) + crimson::ct_error::assert_all( + fmt::format("{} {} {}: got unexpected error {}", *pg, FNAME, *this, get_target_oid()).c_str()) ); auto [submitted, completed] = co_await pg->submit_executer( diff --git a/src/crimson/osd/osd_operations/snaptrim_event.cc b/src/crimson/osd/osd_operations/snaptrim_event.cc index f8fb7aef6f2..1a4f67dd760 100644 --- a/src/crimson/osd/osd_operations/snaptrim_event.cc +++ b/src/crimson/osd/osd_operations/snaptrim_event.cc @@ -412,7 +412,8 @@ SnapTrimObjSubEvent::start() obc_manager, RWState::RWWRITE ).handle_error_interruptible( remove_or_update_iertr::pass_further{}, - crimson::ct_error::assert_all{"unexpected error in SnapTrimObjSubEvent"} + crimson::ct_error::assert_all{fmt::format( + "{} error SnapTrimObjSubEvent::snap_trim_obj_subevent_ret_t with {}", *this, coid).c_str()} ); logger().debug("{}: got obc={}", *this, obc_manager.get_obc()->get_oid()); diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index cb0689d2e31..c440e7f4228 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -730,7 +730,8 @@ seastar::future<> PG::init( t.touch(coll_ref->get_cid(), pgid.make_snapmapper_oid()); } }, - ::crimson::ct_error::assert_all{"unexpected eio"} + ::crimson::ct_error::assert_all{fmt::format( + "{} {} unexpected eio", *this, __func__).c_str()} ); } diff --git a/src/crimson/osd/pg_backend.cc b/src/crimson/osd/pg_backend.cc index 79895de06de..42f5f824202 100644 --- a/src/crimson/osd/pg_backend.cc +++ b/src/crimson/osd/pg_backend.cc @@ -1759,8 +1759,9 @@ PGBackend::tmapup_iertr::future<> PGBackend::tmapup( return seastar::make_ready_future(); }), PGBackend::write_iertr::pass_further{}, - crimson::ct_error::assert_all{"read error in mutate_object_contents"} - ).si_then([this, &os, &osd_op, &txn, + crimson::ct_error::assert_all{fmt::format( + "read error in mutate_object_contents of {}", os.oi.soid).c_str() + }).si_then([this, &os, &osd_op, &txn, &delta_stats, &osd_op_params] (auto &&bl) mutable -> PGBackend::tmapup_iertr::future<> { auto result = crimson::common::do_tmap_up( diff --git a/src/crimson/osd/recovery_backend.cc b/src/crimson/osd/recovery_backend.cc index f30d34195aa..add728a62e5 100644 --- a/src/crimson/osd/recovery_backend.cc +++ b/src/crimson/osd/recovery_backend.cc @@ -246,7 +246,7 @@ RecoveryBackend::scan_for_backfill( crimson::ct_error::enoent::handle([](auto) { return false; }), - crimson::ct_error::assert_all("unexpected error") + crimson::ct_error::assert_all(fmt::format("{} {} error when loading obc", pg, FNAME).c_str()) ); if (!found) { // if the object does not exist here, it must have been removed diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index 9b40edbfc6d..27d841dfb19 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -153,7 +153,8 @@ ReplicatedRecoveryBackend::maybe_pull_missing_obj( return recovery_waiter.wait_for_pull(); }); }).handle_error_interruptible( - crimson::ct_error::assert_all("unexpected error") + crimson::ct_error::assert_all(fmt::format( + "{} {} error with {} need {} ", pg, FNAME, soid, need).c_str()) ); } @@ -746,7 +747,8 @@ ReplicatedRecoveryBackend::read_omap_for_push_op( return seastar::make_ready_future( stop ? seastar::stop_iteration::yes : seastar::stop_iteration::no ); - }, crimson::os::FuturizedStore::Shard::read_errorator::assert_all{}); + }, crimson::os::FuturizedStore::Shard::read_errorator::assert_all(fmt::format( + "{} ReplicatedRecoveryBackend::read_omap_for_push_op error with {}", pg, oid).c_str())); }); } -- 2.39.5