Feature #1872
closedrgw: only use shadow objects for large objects
0%
Description
Currently we use shadow objects for every write that overwrites an object. We can avoid that by assuming that objects that are smaller or equal to the read chunk size are inherently atomic.
Things to keep in mind:
- read of object data might be atomic, but we currently first read object xattrs, and only then do we read the data which is not atomic. We should either still use barriers and handle this case, or we should read everything atomically in the first place as a single compound op.
- maybe doing the latter, but adding a method to cls_rgw that verifies ACLs, so that we only read the object if ACLs are ok?
Updated by Greg Farnum over 12 years ago
This will also require being careful to check both current and new sizes — the new object might be < chunk size while the old object is larger, for instance.
Updated by Yehuda Sadeh over 12 years ago
Once a race has been detected, operation needs to be restarted (unless we already have all requested data).
Updated by Yehuda Sadeh about 12 years ago
- Status changed from New to Resolved
This has long been done.
Pushing acls check to cls_rgw can be done later on, but that's a different issue.
Updated by John Spray over 6 years ago
- Project changed from Ceph to rgw
- Category deleted (
22)
Bulk reassign of radosgw category to RGW project.