From: Kautilya Tripathi Date: Mon, 16 Feb 2026 07:23:37 +0000 (+0530) Subject: crimson/osd: fix omap key removal encoding mismatch X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0cca2ac6b7c7668757e6420132e2ab1567d76254;p=ceph-ci.git crimson/osd: fix omap key removal encoding mismatch RGW bucket deletion via cls_user_remove_bucket was failing on Crimson because cls_cxx_map_remove_key() encoded a std::vector while PGBackend::omap_remove_key() expected and decoded a std::set using decode_str_set_to_bl(). This mismatch caused OMAP keys to not be removed, leaving stale bucket entries that broke test_list_buckets_*. Fix by encoding std::set in cls_cxx_map_remove_key() to match the backend's decode_str_set_to_bl() expectation, aligning with classic OSD behavior. This fixes: s3 test_list_buckets_* tests on Crimson Signed-off-by: Kautilya Tripathi --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index 88cd9822d0e..c3b9a67ac93 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -436,7 +436,8 @@ int cls_cxx_map_remove_range(cls_method_context_t hctx, int cls_cxx_map_remove_key(cls_method_context_t hctx, const string &key) { OSDOp op{CEPH_OSD_OP_OMAPRMKEYS}; - std::vector to_rm{key}; + std::set to_rm; + to_rm.insert(key); encode(to_rm, op.indata); return execute_osd_op(hctx, op); }