Thanks for the detailed explanation...

>>
>>
>> 1. So when the replicator catches up, it will move the object back to
>> the correct location. Is that right?
>
>
> The read path will find the object on any primary or any handoff location.
> The replicator *will* copy the data files to the primary and delete it from
> the handoff once it's successfully in sync.  But GETs for the object will be
> able to find the object during that entire process.  Having data written to
> a handoff location does not mean it is unaccessible - quite the opposite -
> stable handoff ordering is the mechanism that enables data to be accessible
> during failure of primary storage devices.

This is unlike what I've seen in this setup. I have some code that
tried to read the object 5 times from Swift with exponential backoff.
But it failed with a 404 on all occassions which is why it gave up. I
also tried manually using swift command line tool and got back an
object "not found" error.
The object was found in the *second* handoff node. Not the first. Does
that matter.

The replicator eventually did transfer the blob to the original node.
After that things were just fine...

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to