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

Reply via email to