[ 
https://issues.apache.org/jira/browse/CASSANDRA-580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12782286#action_12782286
 ] 

Kelvin Kakugawa commented on CASSANDRA-580:
-------------------------------------------

Right now, I'm leaning towards client-side conflict resolution.

Basically, all updates are written out and conflict resolution is handled at 
read time.  An exception being a version in the Memtable that can be resolved 
syntactically.  However, it would require more copies of the data and a more 
complex API.  It would make the storage system more flexible for end users, 
though, since they wouldn't have to write server-side logic.  However, they 
would have to parse a list of conflicting versions and pass back a 
context/summary version vector of the merged conflict.

My reasoning is that Cassandra is write-optimized, so we should shift the 
burden to reads rather than writes.

> vector clock support
> --------------------
>
>                 Key: CASSANDRA-580
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-580
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>         Environment: N/A
>            Reporter: Kelvin Kakugawa
>            Assignee: Kelvin Kakugawa
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> Allow a ColumnFamily to be versioned via vector clocks, instead of long 
> timestamps.  Purpose: enable incr/decr; flexible conflict resolution.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to