[
https://issues.apache.org/jira/browse/CASSANDRA-699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sylvain Lebresne updated CASSANDRA-699:
---------------------------------------
Attachment: 0004-Update-test_server-for-insert-changes-and-add-simple.patch
I attach a bunch of patches. The first one, add a new ExpiringColumn class.
This new class extends Column and thus make use of the recent #706. (It could
also be done without subclassing by adding a new interface (say ISimpleColumn)
that extends IColumn and be implemented by Column and ExpiringColumn. I've
ruled for subclassing for now to avoid code duplication but I had implemented
the interface solution at first, so I could go both ways).
Then there's the question of the API. I attach as a second patch what seems a
good option to me. Basically, it adds an optional ttl to Column and changes
insert() to take a ColumnParent and a Column. Just adding a new argument to
insert() doesn't work well as it cannot be made optional. That is, I believe
that if we want to just add a new argument to insert, the ttl field in Column
need to be required.
Third patch plugs the changes in thrift to the ExpiringColumn class.
Fourth patch changes test_server.py to accommodate the change in insert(). I
also add a few (very) basic test for column with ttl.
This obviously needs more testing but any comments/suggestions appreciated.
PS: The attached patches do not update the thrift generated code.
> Add (optional) expiration time for column
> ------------------------------------------
>
> Key: CASSANDRA-699
> URL: https://issues.apache.org/jira/browse/CASSANDRA-699
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Attachments: 0001-Add-new-ExpiringColumn-class.patch,
> 0002-Add-TTL-support-to-cassandra.thrift.patch,
> 0003-Plug-thrift-TTL-addition-to-ExpiringColumn.patch,
> 0004-Update-test_server-for-insert-changes-and-add-simple.patch
>
>
> Allow to attach an expiration time to a column.
> An expired column would act much like a 'markedForDelete' one.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.