Project

General

Profile

Actions

Feature #1544

closed

rgw: explicit bucket index

Added by Sage Weil over 12 years ago. Updated over 6 years ago.

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

0%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

maintain an explicit index for bucket contents, in a separate object, that is sorted (yay!). we can use tmap for this. and eventually improve the osd tmap implementation to perform for very large maps.

something like this?

- the key would be the object name, the value would be the <tag,timestamp,proposed> (where proposed is a bool).

on put, do something like
- insert tmap entry with proposed+$tag
- complete the put
- update tmap value to just $tag

on list,
- return committed records
- on proposed records, stat the object, and clean up if it dne and the attempt is sufficiently old.

on delete,
- set tmap value to proposed+$tag
- remove object
- remove tmap value (if == proposed+$tag)

etc. it's more complicated than that because you can have racing puts and deletes. but, generally speaking, do any rollback/cleanup during list-objects...


Files

rgw_doc.txt (3.88 KB) rgw_doc.txt Greg Farnum, 09/26/2011 11:31 AM
Actions

Also available in: Atom PDF