I created a new placement target/pool. I don't have the exact commands anymore, but something similar to: --- $ radosgw-admin zonegroup placement add \ --rgw-zonegroup default \ --placement-id temporary $ radosgw-admin zone placement add \ --rgw-zone default \ --placement-id temporary \ --data-pool default.rgw.temporary.data \ --index-pool default.rgw.temporary.index \ --data-extra-pool default.rgw.temporary.non-ec --- I created a new bucket to use the "default.rgw.temporary.data" as its data pool. Without removing the bucket, I removed the placement target/rule. I realised that I still had a bucket, so tried to remove the bucket: --- $ radosgw-admin bucket rm --bucket=tempbucket 2024-08-26T14:12:08.722+0200 7f6c88a73fc0 0 could not find placement rule temporary within zonegroup 2024-08-26T14:12:08.722+0200 7f6c88a73fc0 0 ERROR: int RGWRados::Bucket::List::list_objects_unordered(const DoutPrefixProvider*, int64_t, std::vector<rgw_bucket_dir_entry>*, std::map<std::__cxx11::basic_string<char>, bool>*, bool*, optional_yield) cls_bucket_list_unordered returned -22 for :tempbucket[d9c26db8-925f-4c6c-838d-6e886ec345ca.694015388.44]) --- So I tried to remove the bucket in a different way: --- $ radosgw-admin metadata rm bucket:tempbucket $ radosgw-admin bucket rm --bucket=tempbucket --- This looked good. I thought the bucket was removed, but my rgw containers are crashing when trying to trim (so it seems the bucket is not really removed): --- debug -2> 2024-08-26T12:33:21.291+0000 7eff1bc70700 0 could not find placement rule temporary within zonegroup debug -1> 2024-08-26T12:33:21.291+0000 7eff1bc70700 0 ERROR: open_bucket_index_shard() returned ret=-22 debug 0> 2024-08-26T12:33:21.295+0000 7eff1bc70700 -1 *** Caught signal (Segmentation fault) ** in thread 7eff1bc70700 thread_name:sync-log-trim ceph version 15.2.17 (8a82819d84cf884bd39c17e3236e0632ac146dc4) octopus (stable) 1: (()+0x12ce0) [0x7eff4530cce0] 2: (()+0x97b01) [0x7eff4f8a6b01] 3: (librados::v14_2_0::IoCtx::aio_operate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, librados::v14_2_0::AioCompletion*, librados::v14_2_0::ObjectWriteOperation*)+0x74) [0x7eff4f87f3b4] 4: (RGWRadosBILogTrimCR::send_request()+0x1c7) [0x7eff5029fb07] 5: (RGWSimpleCoroutine::state_send_request()+0x13) [0x7eff50297483] 6: (RGWSimpleCoroutine::operate()+0xac) [0x7eff5029ca5c] 7: (RGWCoroutinesStack::operate(RGWCoroutinesEnv*)+0x67) [0x7eff5029a287] 8: (RGWCoroutinesManager::run(std::__cxx11::list<RGWCoroutinesStack*, std::allocator<RGWCoroutinesStack*> >&)+0x271) [0x7eff5029b0b1] 9: (RGWSyncLogTrimThread::process()+0x200) [0x7eff503636d0] 10: (RGWRadosThread::Worker::entry()+0x176) [0x7eff5032bc26] 11: (()+0x81ca) [0x7eff453021ca] 12: (clone()+0x43) [0x7eff43948dd3] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. --- I can recreate (if required for the fix) the metadata info, since I have the output of "radosgw-admin metadata get bucket:tempbucket > tempbucket_metadata.json" by using: --- $ radosgw-admin metadata put bucket:tempbucket < tempbucket_metadata.json --- What is the best way to recover from this? Recreate the placement rule? Or are there other options? I just want to get rid of the bucket, so my rgw containers don't crash while trying to trim this bucket. Thanks!