Feature #2171
closed
rgw: asynchronously calculate md5
Added by Yehuda Sadeh about 12 years ago.
Updated over 6 years ago.
Description
When doing a PUT we calculate the md5 of the content (used later for the etag) synchronously. We need to be able to calculate it asynchronously so that we can do that calculation and writing the data in parallel.
- Tracker changed from Bug to Feature
Actually, I think it'll be easier doing it the other way around. As we already write the object asynchronously we can have the main thread calculating the md5 while feeding the write queue (the same as now). One change would be that we'd handle the ack callbacks for the write and send new writes if there are any.
Thinking about it some more, it's probably not the best use of time and effort. We initiate the md5 calculation after sending the rados request, so basically we do:
send chunk(1)
calculate md5(1)
send chunk(2)
calculate md5(2)
...
wait (1,2,...)
Sending the chunks is non-blocking, so total time would be in the order of the slowest path: either writing the data or calculating the md5. Doing the md5 calculation async wouldn't change that.
- Status changed from New to Rejected
- Translation missing: en.field_position set to 1
- Translation missing: en.field_position changed from 1 to 1188
- Project changed from Ceph to rgw
- Category deleted (
22)
Bulk reassign of radosgw category to RGW project.
Also available in: Atom
PDF