[openstack-dev] Swift auditor and missing files

Yamagata Yo bi.yamagata at gmail.com
Fri Oct 26 02:19:11 UTC 2012


(post again because my previous post was required moderator's approval
and canceled)

Hi Pete

I am the owner of this patch.

Thank you for your attention to this bug.
Please let me explain cause of the bug.

Objects are stored  in suffix in partitions.
So all objectes are grouped by partition/suffix/ .

Each partition has hashes.pkl file which contain suffixes and its hash values
which are calculated based on file lists in suffix.

Object-replicator checks the suffix hash value between own and remote node's one
and if the value is different, object replicator execute rsync.

if object files are unexpectedly lost, suffix hash values will be not updated.
So object-replicator can't detect the chage, as a result rsync is not triggered.

This is the reason of this bug in my understanding.

Best regards,
   You Yamagata

2012/10/25 Pete Zaitcev <zaitcev at redhat.com>:
> Guys, I was reading LP bug 971914, and it seems to imply that missing
> files are not detected by replicators (therefore the patch to add this
> function to auditors). Why is this?
>
> My understanding was that if a file with object's body disappears,
> the rsync would would restore it. Note that this action is driven
> by replicator on _other_ node from the one where the damage occured.
> Still, why is it not happening?
>
> I suspect the answer is in ReplicatorRpc.sync() method somewhere, but
> cannot quite piece it together.
>
> See
>  https://bugs.launchpad.net/swift/+bug/971914
>  https://review.openstack.org/11452/
>
> -- Pete



More information about the OpenStack-dev mailing list