[openstack-dev] [swift] what does swift do if the auditor find that all 3 replicas are corrupt?

Daniel Li abblly.daniel at gmail.com
Thu Nov 7 13:59:36 UTC 2013


Thanks very much for your help, and please see my inline comments/questions.

On Thu, Nov 7, 2013 at 2:30 AM, Samuel Merritt <sam at swiftstack.com> wrote:

> On 11/6/13 7:12 AM, Daniel Li wrote:
>
>> Hi,
>>      I have a question about swift:  what does swift do if the auditor
>> find that all 3 replicas are corrupt?
>> will it notify the owner of the object(email to the account owner)?
>> what will happen if the GET request to the corrupted object?
>> will it return a special error telling that all the replicas are
>> corrupted?
>>   Or will it just say that the object is not exist?
>>   Or it just return one of the corrupted replica?
>>   Or something else?
>>
>
> If all 3 (or N) replicas are corrupt, then the auditors will eventually
> quarantine all of them, and subsequent GET requests will receive 404
> responses.
>
No notifications are sent, nor is it really feasible to start sending them.
> "The auditor" is not a single process; there is one Swift auditor process
> running on each node in a cluster. Therefore, when an object is
> quarantined, there's no way for its auditor to know if the other copies are
> okay or not.
>
> Note that this is highly unlikely to ever happen, at least with the
> default of 3 replicas. When an auditor finds a corrupt object, it
> quarantines it (moves it to a "quarantines" directory).

 Did you mean that when the auditor found the corruption, it did not copy
good replica from other object server to overwrite the corrupted one, it
just moved it to a quarantines directory?

Then, since that object is missing, the replication processes will recreate
> the object by copying it from a node with a good copy.

When did the replication processes recreated the object by copying it from
a node with a good copy? Does the auditor send a message to replication so
the replication will do the copy immediately? And what is a 'good' copy?
Does the good copy's MD5 value is checked before copying?

> You'd need to have all replicas become corrupt within a very short
> timespan so that the replicators don't get a chance to replace the damaged
> ones.
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131107/b1f38c46/attachment.html>


More information about the OpenStack-dev mailing list