Bug #39141
closedsync_user failed
0%
Description
I am running ceph version 10.2.10.after i create a user,rgw print logs below:
0 ERROR: can't read user header: ret=-2
0 ERROR: sync_user() failed, user=testuser ret=-2
This bug has been reported 2 years ago and merged to master branch:
https://tracker.ceph.com/issues/18921
https://github.com/ceph/ceph/pull/13408
The solution is to change the log level for 0 to 5.But i found a logical error:
rgw_user.cc RGWUserMetadataHandler::list_keys_next
...
if (k.find(".buckets") == string::npos) {
keys.push_back(k);
}
...
This function filter object which name doesn't contain ".buckets"
BUT:
rgw_quota.cc RGWUserStatsCache::sync_user()
--store->cls_user_get_header()
----rgw_get_buckets_obj() {
buckets_obj_id = user_id.to_str();
buckets_obj_id += RGW_BUCKETS_OBJ_SUFFIX;
}
this function append a suffix ".buckets" to oid
So sync_user() always return error.
This is a logical error!!!