Dear All,


RGW provides atomic PUT in order to guarantee write consistency.

cf: https://ceph.io/en/news/blog/2011/atomicity-of-restful-radosgw-operations/

But my understanding is that the are no guarantee regarding the PUT order 
sequence.
So basically, if doing a storage class migration:
aws s3 cp s3://<bucket-name>/ s3://<bucket-name>/ --recursive --storage-class 
<storage_class>
Then if another client is writing concurrently in this bucket, a PUT collision 
could happen.
Is it correct that in this case the slowest PUT would win?
In fact, if the other client starts its PUT after my PUT starts and before my 
PUT ends,
then my PUT would win, overwriting new data with old data...

Any ideas to prevent that?
Maybe with "radosgw-admin bucket rewrite" ?
Maybe by "locking" the object temporary with an ACL or something else?

This potential issue could also affect LifeCycle Policies that use StorageClass 
Transition...

Thank you for your help.


Cheers
Francois


--


EveryWare AG
François Scheurer
Senior Systems Engineer
Zurlindenstrasse 52a
CH-8003 Zürich

tel: +41 44 466 60 00
fax: +41 44 466 60 10
mail: [email protected]
web: http://www.everyware.ch
_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to