Feature #1544
closedrgw: explicit bucket index
0%
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