You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/04/11 15:43:18 UTC
[jira] [Issue Comment Edited] (CASSANDRA-3974) Per-CF TTL
[ https://issues.apache.org/jira/browse/CASSANDRA-3974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13251561#comment-13251561 ]
Jonathan Ellis edited comment on CASSANDRA-3974 at 4/11/12 1:42 PM:
--------------------------------------------------------------------
bq. Part of the code I changed was in CFMetaData's toThrift and fromThrift methods
Let me back up. I can see two main approaches towards respecting the per-CF ttl:
# Set the column TTL to the max(column, CF) ttl on insert; then the rest of the code doesn't have to know anything changed
# Take max(column, CF) ttl during operations like compaction, and leave column ttl (which is to say, ExpiringColumn objects) to specify *only* the column TTL
The code in UpdateStatement led me to believe you're going with option 1. So what I meant by my comment was, you need to make a similar change for inserts done over Thrift RPC, as well. (to/from Thrift methods are used for telling Thrift clients about the schema, but are not used for insert/update operations.)
Does that help?
bq. Sorry, I'm not sure to which part of the code you're referring
CFMetadata.getTimeToLive. Sounds like you addressed this anyway.
was (Author: jbellis):
bq. Part of the code I changed was in CFMetaData's toThrift and fromThrift methods
Let me back up. I can see two main approaches towards respecting the per-CF ttl:
# Set the column TTL to the max(column, CF) ttl on insert; then the rest of the code doesn't have to know anything changed
# Take max(column, CF) ttl during operations like compaction, and leave column ttl to specify *only* the column TTL
The code in UpdateStatement led me to believe you're going with option 1. So what I meant by my comment was, you need to make a similar change for inserts done over Thrift RPC, as well. (to/from Thrift methods are used for telling Thrift clients about the schema, but are not used for insert/update operations.)
Does that help?
bq. Sorry, I'm not sure to which part of the code you're referring
CFMetadata.getTimeToLive. Sounds like you addressed this anyway.
> Per-CF TTL
> ----------
>
> Key: CASSANDRA-3974
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3974
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jonathan Ellis
> Assignee: Kirk True
> Priority: Minor
> Fix For: 1.2
>
> Attachments: trunk-3974.txt
>
>
> Per-CF TTL would allow compaction optimizations ("drop an entire sstable's worth of expired data") that we can't do with per-column.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira