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

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

potential incompatibility w/ IColumn and IColumnContainer interfaces.

The key issue is that Column and SuperColumn rely on timestamps to indicate 
when deletion should occur.  In particular, through these methods:
getMarkedForDeleteAt()
mostRecentLiveChangeAt()

A separate, less interesting, issue is that SuperColumn auto-assumes Column for 
its sub-column serializer.

Right now, I've put together a new class, VersionColumn, that's context-based.  
I've added context() methods to IColumn and added some instanceof checks.  
However, I'm still exploring the implementation for the delete logic.

atm, I'm trying to avoid having to add a SuperVersionColumn class.  However, 
what is an interesting way to define the version "context" of a SuperColumn?  
An aggregated context of all the sub-columns may be worth exploring.  
Alternatively, since all the updates are timestamped, we could use that as a 
rough approximation for mostRecentLiveChangeAt(), but that seems to break the 
spirit of versioned contexts.

> 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
>         Attachments: 580-context-v1.patch, 580-context-v2.patch, 
> 580-context-v3.patch, 580-interface-1-add-vector-clock.diff, 
> 580-interface-2-add-vector-clock.diff, 580-thrift-v3.patch, 
> 580-thrift-v4.patch, 580-thrift-v5.patch
>
>   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