Project

General

Profile

Bug #11442

Objects with names starting with underscore become inaccessible after upgrading to Hammer

Added by Benjamin Gilbert over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Target version:
-
% Done:

0%

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

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

Related to rgw - Bug #11570: rgw (?) problem in upgrade:hammer-hammer-distro-basic-typica run Resolved 05/07/2015
Duplicated by rgw - Bug #11802: Key not found on some object after upgrade to Hammer Duplicate 05/28/2015

Associated revisions

Revision 3d4a1d20 (diff)
Added by Yehuda Sadeh over 8 years ago

rgw: set a special object locator if object starts with underscore

Fixes: #11442
Backport: hammer

Signed-off-by: Yehuda Sadeh <>

Revision 512ae4cb (diff)
Added by Yehuda Sadeh over 8 years ago

rgw: set a special object locator if object starts with underscore

Fixes: #11442
Backport: hammer

Signed-off-by: Yehuda Sadeh <>
(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

Also available in: Atom PDF