Hi Arek,
In the wiki there is no precise IMHO statement about write:
> The overlay blob store fulfills write requests by attempting to write to
each delegate in priority order. Once a write is successfully satisfied by
a delegate, the result of the delegate write is returned as the result of
the overlay blob store write and no subsequent writes are attempted for
that request.
Does this mean that only one write to one delegate blob store must
succeed (in order of priority) before returning a result for a primary
blob store (Overlay in this case) ?
Yes, that is the intent. The purpose is to make it easy to understand - it
always writes to the first delegate that will allow the write.
Imagine the following migration case:
FileBlobStore ---> S3DataStore
If you could configure priority for read in the following order: {FBS,
S3DS} but for writes in inverse order {S3DS, FBS} then this will
almost satisfy any DataStore migration scenarios (except the need to
transfer content stored in initial blob store) but it can be done in
the background and it can be done by any other mechanism (offline copy
process).
I think that could be satisfied by reconfiguring the FBS as a read-only
store; from that point forward reads could still be satisfied from the FBS
but writes would all end up going to S3DS instead. Once all the blobs were
transferred in the background, the FBS could be shut down. Do you think
that would work?
-MR