[ 
https://issues.apache.org/jira/browse/CASSANDRA-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Johan Oskarsson updated CASSANDRA-1072:
---------------------------------------

    Attachment: CASSANDRA-1072.patch

This patch implements an increment-only counter with support for both standard 
and super columns. Most of the code by Kelvin Kakugawa from CASSANDRA-580 with 
cleanup and bug fixes by Johan Oskarsson, Adam Samet and Sylvain Lebresne. The 
patch also paves the way for other clock types that use contexts in a similar 
way, for example CASSANDRA-1132

For example on how to use it see this thrift system test: 
test_incr_standard_insert

Changes include
* Adding a context byte array to thrift and avro clock structs, required for 
reconciliation of different versions
* Adding an IncrementCounterClock that together with IncrementCounterReconciler 
is responsible for reconciliation etc of increment columns.
* Adding an IContext interface and IncrementCounterContext implementation for 
dealing with the context byte arrays.
* Update AES code to account for context-based clock types
* StorageProxy: modification of write path for counter clock types (enforce 
CL.ONE to primary replica)
* Exposing some methods needed in the column/container interfaces that exists 
in both standard and super colum types
* Various helper methods in FBUtilities for working with byte arrays
* System tests for incr counters (insert, remove, batch operations)
* Unit tests for new classes and methods mentioned above

> Increment counters
> ------------------
>
>                 Key: CASSANDRA-1072
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1072
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Johan Oskarsson
>            Assignee: Kelvin Kakugawa
>         Attachments: CASSANDRA-1072.patch
>
>
> Break out the increment counters out of CASSANDRA-580. Classes are shared 
> between the two features but without the plain version vector code the 
> changeset becomes smaller and more manageable.

-- 
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