[sheepdog] read/write during recovery

Dietmar Maurer dietmar at proxmox.com
Wed Jul 25 18:41:44 CEST 2012


> > Well, I never considered such error scenarios. I thought we can simply
> > reject reads during recovery, but that is not the case.
> >
> > The journal does not contain 'all' object data (only the pieces
> > written), so you can never do a successful read. You need to wait until data
> is recovered.
> 
> But wait. Maybe we can force the gateway node to write the whole object if
> needed?

To be more specific:

While a node is in recovery, but obj is not yet recovered, we simply 
return 'SD_RES_NEED_FULL_DATA' for partial writes.

The gateway node then reads the obj data, and finally writes all 4MB 
to the target node (which can update the object immediately).

I am not sure what implication that has on performance, but I can see
some positive side effect when object cache is enabled, because it is likely
that the whole object is already cached.







More information about the sheepdog mailing list