Hi Xiaolei,

By definition:

Write.ONE: Ensure that the write has been written to at least 1 node's
commit log and memory table before responding to the client.

So it is not a bug as long as the data gets to A. If you want to be
sure data gets to B and/or C, use Write.QUORUM or Write.ALL (and large
enough replication factor).

Cheers,
-Jaakko


On Sat, Dec 19, 2009 at 4:03 PM, XL.Pan <[email protected]> wrote:
> Hi, I'm reading the codes of the system. When I read the method 
> StorageProxy::insertBlocking(), I get puzzled.  Is it possible that the data 
> may still be lost even if the insertion call returns ok?
>
> Imagin the fowllowing scene :
> 1) client sends data to serverA with conistency ONE;
> 2) serverA  selects 3 endpoint A, B, C to store the data;
> 3) After the serverA successfully stores the data locally, the serverA will 
> tell the client that it's ok.
> 4) serverA is crashed after that;
> 5) Because the data sent to B and C through the network may be buffered (user 
> leve/kernel level), it may not be received by B or C yet.
> 6) As a result, it will be impossible for any one to get the data though the 
> client's insertion is ok.
>
> --------------
> XL.Pan
> 2009-12-19
>
>

Reply via email to