[Openstack] [openstack][swift] Question about Swift consistency and concurrent requests

Kévin Bernard-Allies kbernard-allies at bajoo.fr
Mon Feb 22 13:06:13 UTC 2016


Hello,

I've some questions about the handling of concurrent requests by Swift.
Any help would be great:)


If I understand correctly, a PUT request on swift-proxy will be 
transmitted to at least half the storage nodes plus one, before 
returning the response.
A subsequent GET request should have an updated version (because it also 
make the GET request to several storage nodes ?), but the listing is not 
immediately up-to-date.

Now, I wonder what happens when two PUT requests with 'If-Match' headers 
are executed at the same time.
The 'If' header is active, and one of the two requests is rejected ? Or 
the header is ignored, and the request with the last timestamp wins ?


I search a way to ensure I can't lose a version of the files without 
noticing it.
I'll take any idea.


Thanks all!
-- 
Kévin Bernard-Allies




More information about the Openstack mailing list