[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