Comments inside.. 2010/9/26 Lucas Nodine <lucasnod...@gmail.com>: > I'm looking at a design where multiple clients will connect to Cassandra and > get/mutate resources, possibly concurrently. After planning a bit, I ran > into the following scenero for which I have not been able to research to > find an answer sufficient for my needs. I have found where others have > recommended Zookeeper for such tasks, but I want to determine if there is a > simple solution before including another product in my design. > > Make the following assumption for all following situations: > Assuming multiple clients where a client is someone accessing Cassandra > using thrift. All reads and writes are performed using the QUORUM > consistency level. > > Situation 1: > Client A ("A") connects to Cassandra and requests a QUORUM consistency level > get of an entire row. At or very shortly thereafter (before A's request > completes), Client B ("B") connects to Cassandra and inserts (or mutates) a > column (or multiple columns) within the row. > > Does A receive the new data saved by B or does A receive the data prior to > B's save?
Shoud receive A stuff. > > Situaton 2: > B connects and mutates multiple columns within a row. A requests some data > therein while B is processing. > > Result? Depends.. is it done in BatchMutate or not ? > > Situation 3: > B mutates multiple columns within multiple rows. A requests some data > therein while B is processing. > > Result? See above.. > > Justification: At certain points I want to essentially lock a resource (row) > in cassandra for exclusive write access (think checkout a resource) by > setting a flag value of a column within that row. I'm just considering race > conditions. > You will need to use cages or something like that.. > Thanks, > > Lucas Nodine Bye, Norman