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!!!
Updated by Casey Bodley about 5 years ago
- Status changed from New to Closed
these error messages don't indicate an actual failure; it's just recognizing that a new user does not have any buckets yet to aggregate the stats for. this was fixed by raising the log levels, but wasn't backported to the jewel release because it's no longer supported