SWIFT data consistency

asked 2014-01-10 19:31:45 -0600

garrett-s-page gravatar image

Since swift stores by default at least 3 replicas of data and last write wins, how does swift handle a file corruption situation? If you have a drive that's headed towards failure, but hasn't failed completely yet and corrupts some of the data on it how does swift detect this and handle it?

It would seem that it might detect the corrupted object as the latest write and replicate that throughout the rest of the cluster. Or all the timestamps would be the same, but the hashes would be different so how would it know which version is the correct one?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2014-01-10 19:51:43 -0600

torgomatic gravatar image

The object auditor reads entire objects and compares their MD5 checksums to the ones stored in their metadata (in xattrs). If they don't match, the object is quarantined so that replication can replace it with a good copy.

Similarly, if you GET an object, the object server does the same computation and will quarantine if necessary.

edit flag offensive delete link more

answered 2014-01-10 20:28:43 -0600

garrett-s-page gravatar image

Thanks Samuel Merritt, that solved my question.

edit flag offensive delete link more

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2014-01-10 19:31:45 -0600

Seen: 60 times

Last updated: Jan 10 '14