cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-699) Add (optional) expiration time for column
Date Sun, 17 Jan 2010 19:47:54 GMT

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


Mime
View raw message