incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paolo Ragone <prag...@gmail.com>
Subject Question on conflict handling
Date Fri, 01 Apr 2011 16:36:34 GMT
Hi all,
I've seen that lately there's been a lot of talks on conflicts, split
brain problems, and related.

My question is a lot simpler: does Conflict only happens at column
level? Or is it at row level?
I ask this because all the examples I've seen imply two clients
writing to the same key-column and then something going wrong.
But say two clients (C1, C2) write on the same key but different
columns ( (k1,c1) and (k1,c2) ) and then something wrong happens (e.g.
C2 wrote to a node that persisted the change locally even tho it
failed the write because it had lost connectivity to the other nodes).

My question then is:
When the node that contains the data for (k1,c2) joins the cluster
again ", what happens?
Will one of the writes be overridden by another because the "conflict"
is at row level, or would they be merged and there's no conflict
ending up in k1 having both c1 and c2?

If the columns are merged, then for a use case where you only add
columns (like logging actions on the row) I would be safe, if not I
need to find a way to manage it on the application side.

Thanks
Paolo

Mime
View raw message