[sheepdog] read/write during recovery
Liu Yuan
namei.unix at gmail.com
Tue Jul 24 08:26:37 CEST 2012
On 07/24/2012 02:13 PM, Dietmar Maurer wrote:
>> Why can we simply reject read/writes until we start recovering a specific
>> object?
>
> Sorry, the question is:
>
> Why can't we simply reject read/writes until we start recovering a specific object?
>
What do you by 'reject'? We can't simply return EIO to Guest, that is
why we have wait queues, which re-queue the requests after some
conditions meet.
Basically, there are two mechanism: 1) use wait queues to retry when
targeted object is being migrated/recovered 2) schedule objects that are
being requested with higher priority than those aren't.
Note, with consistent hashing algorithm, we actually have just very
small set of objects that are to be migrated/recovered, most of objects
don't need to be recovered, they just stay where they are. This means
most of the requests during configuration event will be serviced as normal.
Thanks,
Yuan
More information about the sheepdog
mailing list