Project

General

Profile

Actions

Bug #39141

closed

sync_user failed

Added by jacky ding about 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
% Done:

0%

Source:
Community (user)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
rgw
Pull request ID:
Crash signature (v1):
Crash signature (v2):

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!!!

Actions #3

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

Actions

Also available in: Atom PDF