Bug #11442
Objects with names starting with underscore become inaccessible after upgrading to Hammer
0%
Description
In Hammer, rgw objects whose names start with "_" and which were created with older versions of rgw (e.g. Giant) are inaccessible. They still appear in the bucket listing, but attempts to access them return NoSuchKey.
Objects with such names that are created with a Hammer rgw do not exhibit the problem.
Related issues
Associated revisions
rgw: set a special object locator if object starts with underscore
Fixes: #11442
Backport: hammer
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
rgw: set a special object locator if object starts with underscore
Fixes: #11442
Backport: hammer
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 3d4a1d20b86a5a00556df3d6a8dba096509274b7)
History
#1 Updated by Yehuda Sadeh over 8 years ago
- Assignee set to Yehuda Sadeh
- Priority changed from Normal to Urgent
#2 Updated by Yehuda Sadeh over 8 years ago
It seems that the original code had an unintended behavior where it set an object locator with different name than the key when the object name started with underscore. Cleaning up this part of the code for hammer also changed the behavior.
#3 Updated by Yehuda Sadeh over 8 years ago
adding radosgw-admin command that fixes the bad objects that were created after hammer:
$ ./radosgw-admin bucket check --check-head-obj-locator \ --bucket=<bucket> [--fix]
also there's a --remove-bad flag that can be specified and can be used after the fix has been applied and tested.
#4 Updated by Josh Durgin over 8 years ago
- Status changed from New to Pending Backport
- Backport set to hammer
#5 Updated by Yehuda Sadeh over 8 years ago
- Status changed from Pending Backport to Resolved
Committed in Hammer, commit:512ae4cb3e182ce79aca7354c66d2f2a662555da