How Swift resolves the conflicts between serveral replications of data

Asked by ning_zhang

Suppose a data object is saved in Swift with 3 replications on 3 zones. Assume some bits in the first replication of data are changed from 1 to 0, a different set of bits in the second replication of data are changed from 0 to 1. The third replication of data is same as before (no changes at all). Which replication should be used to synchronize the other two replications ? Does Swift use time-stamp to judge this ?

Thanks,

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
John Dickinson (notmyname) said :
#1

Swift resolves conflict by timestamp (last write wins).

In your example, swift would detect the bit flip (because it would no longer match it's md5 fingerprint). The object would be quarantined and replaced with good data by replication.

Can you help with this problem?

Provide an answer of your own, or ask ning_zhang for more information if necessary.

To post a message you must log in.