Project

General

Profile

Actions

Bug #64450

closed

rgw: bucket listing failed to make forward progress w/ versioned objects

Added by Alex Wojno 3 months ago. Updated about 1 month ago.

Status:
Duplicate
Priority:
Normal
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

When listing the objects in a bucket while ordered (RGWRados::Bucket::List::list_objects_ordered), there is a marker comparison in order to determine if progress is being made. For a versioned object with a large amount of versions, this marker comparison could be incorrect. The comparison looks at object name (which will be the same for versioned object), and then the instance version from a lexicographical order, which is how the underlying OMAP is ordered. However, the index key structure is `<obj name>\0[v<ver>\0i<instance id>]` so the different versions are ordered by <ver> rather than instance id in the OMAP. In the following example: prev_marker = file1[\0]1[\0]i*cde*, cur_marker = file1[\0]2[\0]i*abc*, the marker comparison would fail even though we made forward progress. Due to how this behavior affects the listing logic, some objects end up being omitted during bucket listing.


Related issues 1 (1 open0 closed)

Is duplicate of rgw - Bug #64185: timeouts when listing versioned buckets that skip over many entriesFix Under ReviewCory Snyder

Actions
Actions #1

Updated by Casey Bodley 2 months ago

  • Assignee set to J. Eric Ivancich
Actions #2

Updated by Casey Bodley about 1 month ago

  • Is duplicate of Bug #64185: timeouts when listing versioned buckets that skip over many entries added
Actions #3

Updated by Casey Bodley about 1 month ago

  • Status changed from New to Duplicate
Actions

Also available in: Atom PDF