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

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

Thanks for your comments.

(1) I thought about putting the utility methods in FBUtilities.  However, I 
left them in VVC for this pass.  I can move them over.

(2) You're right about cBSA.  I didn't implement the cases that were already 
handled by VVC.  However, if I move it to FBUtilities, I'll look for all the 
missing cases.

(3) Thanks for the heads up.  I'll look into replacing those loops w/ arraycopy.

(4) My goal is to keep the context an opaque array, because I want to be 
support other version implementations.  i.e. interval tree clocks, which have a 
different format.  So, if I wanted to use an object representation, VVC would 
have to internally inflate the opaque context.  However, the manual byte 
manipulation isn't as easy to read as an object-based implementation and this 
was a concern of mine.

Right now, for the reconcile() method, I'm probably going to modify its 
interface.  Instead of using a List of Pair objects, I have a new IColumn impl, 
VectorColumn, that would probably be more appropriate than Pair.

> 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, 580-thrift-v6.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