[Sheepdog] sheepdog's recovery alogorithm questions
jidalyg_8711 at 163.com
Tue Mar 15 04:09:16 CET 2011
After reading the source code of the sheepdog, I have some questions confused.
1. sheepdog claim it is strong consistent, And I think the implemention of the read_object() write_object() remove_object() ensure that strong consistent? any other places to ensure it ? How about it affect the performance of the sheepdog?
2. About the recovery alogorithm, When the new node join or the node left, sheepdog will call start_recovery()func and recovery in background. The main actions of the recovery is move the object to the new node and the epoch directory ; while recoverying, the READ_OBJECT request arrived, currently sys->epoch has increased, but the object maybe still in old epoch directory ,not yet move to the new epoch, How the sheepdog handle the situation ? And the sys->epoch increased in update_cluster_status() before calling start_recovery()
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sheepdog