incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roland Hänel <rol...@haenel.me>
Subject Detailed behavior of insert() operation?
Date Wed, 28 Apr 2010 07:02:32 GMT
Does Cassandra make any guarantees on the outcome of a scenario like this:

Two clients insert the same key/colum with different values at the same
time:

   client A does insert(keyspace, key_1,
column_name_1, value_A, timestamp_1, consistency_level.QUORUM)
   client B does insert(keyspace, key_1,
column_name_1, value_B, timestamp_1, consistency_level.QUORUM)

After that, both clients read their value:

   client A does
get(keyspace, key_1, column_name_1, consistency_level.QUORUM)
   client B does
get(keyspace, key_1, column_name_1, consistency_level.QUORUM)

It is obvious that since the insert happens 'at the same time', i.e. with
the same timestamp, we cannot say
which value (value_A or value_B) gets written to the row. However, do we
have a guarantee that either value_A
or value_B is written, and that both read operations will return the same
result?

Or might there be a (short-timed?) race conditions where both get()
operations will return different results
(typically value_A for client_A, value_B for client_B)?

-Roland

Mime
View raw message