Project

General

Profile

Actions

Bug #61263

open

rgw etag handling

Added by Marcus Watts 12 months ago. Updated 12 months ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

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

Description

Older versions of radosgw wrote out etags with an appended nul. Current versions (usually) do not. A current copy of radosgw must be able to deal with objects written by old versions that have an appended nul. Even current upstream will append a nul for multiepart uploads, so there are plenty of objects out there with trailing nuls.

There's one more nasty case. Note that some of the radosgw code runs as "cls" code on the osds. A site that mixes old and new can wind up with objects that have been handled possibly randomly by both versions of ceph. Depending on which version does what where can result in appending trailing garbage to etags. Empirical evidence shows there exist production people with good reasons to ignore the advice from developers to not cross the streams. The resulting sticky fallout is stored to disk and must be handled.

I have a set of patches that fix the missing trailing nul case, and tries to be much more paranoid about sticky fallout.

Actions #1

Updated by Marcus Watts 12 months ago

Actions #2

Updated by J. Eric Ivancich 12 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 51584
Actions

Also available in: Atom PDF