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

Jonathan Ellis commented on CASSANDRA-3929:
-------------------------------------------

The good news is, this looks good. (Nit: getRetainedColumnCount would be a bit 
cleaner as a method on CFMetaData.)

The bad news is, I think we need to scope creep -- the right unit of retention 
is the cql3 row.  For {{COMPACT STORAGE}} there is one row per cell, but 
otherwise it gets complicated... there's a "this row exists" marker cell, and 
collection columns become one cell per entry.  Dealing with partial (cql3) rows 
is not something we want to inflict on users, so we should enable column 
tombstoning only on cql3 row boundaries.

cfmetadata.cqlCfDef will have the information we need to do this, in 
particulary {{isCompact}} and {{keys}}.  (See 
www.datastax.com/dev/blog/thrift-to-cql3.)

I suspect you're going to want a unit test or two here.  
QueryProcessor.processInternal is probably the easiest way to do cql from a 
test.
                
> Support row size limits
> -----------------------
>
>                 Key: CASSANDRA-3929
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3929
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Dave Brosius
>            Priority: Minor
>              Labels: ponies
>             Fix For: 1.3
>
>         Attachments: 3929_b.txt, 3929_c.txt, 3929_d.txt, 3929.txt
>
>
> We currently support expiring columns by time-to-live; we've also had 
> requests for keeping the most recent N columns in a row.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to