I recreated the placement target and was able to remove the bucket, so
thats fixed.
Since the bucket is removed, I have deleted the placement target.
When I restart RGW, I am getting the following during startup:
debug 2024-08-27T13:34:55.850+0000 7f25d9b0f280 0 WARNING: This zone
does not contain the placement target temporary present in zonegroup
What could cause this? The warning message is correct, the placement
target temporary is indeed not present since I removed it, but why does
it log/show the message?
On 2024-08-26 23:51, Joachim Kraftmayer wrote:
Hi,
in older versions of ceph you could download the metadata object,
modify it and upload it again. e.g. changing the location constraint.
But this is not possible in newer versions of ceph.
So the only option I know is to recreate the placement target.
Joachim
Joachim Kraftmayer
CEO
+49 89 2152527-21 [1]
joachim.kraftmayer@xxxxxxxxx
www.clyso.com [2]
Hohenzollernstr. 27, 80801 Munich
Utting a. A. | HR: Augsburg | HRB: 25866 | USt. ID-Nr.: DE2754306
Am Mo., 26. Aug. 2024 um 21:27 Uhr schrieb <sinan@xxxxxxxx>:
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!
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx
Links:
------
[1] https://call.ctrlq.org/+49%2089%202152527-21
[2] http://www.clyso.com/
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx