cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward Capriolo (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-4565) TTL columns with older then gcgrace do not need to flush
Date Tue, 28 Aug 2012 17:26:07 GMT


Edward Capriolo commented on CASSANDRA-4565:

 I noticed this because the method I added had loggers that I never saw in the output.  What
I saw happening was ExpiringColumns past TTL never made it into the flush. After some tracing
I came to the conclusion that maybeResetDeletionTimes takes into account ttl time, and converts
them to DeletedColumns which do not get flushed. 

Also if you take the unit test I added, it passes without modification to the code base so
unless my test is not doing what I think it seems like cassandra is already handling this.

If you are finding this not to be the case we can re-open and I will take a look. 
> TTL columns with older then gcgrace do not need to flush
> --------------------------------------------------------
>                 Key: CASSANDRA-4565
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>             Fix For: 1.3
>         Attachments: cassandra-4565.patch.1.txt
> With memcache many people are willing to sacrifice durability for performance. Cassandra
has a TimeToLive feature that can be used in caching scenarios with low values for gc_grace_seconds.
However from a code dive it seems that cassandra will always write TTL to disk, even those
that are beyond gc_grace_seconds. If a use case very large memtables,small ttl, and small
gc_grace it is possible that flushing these columns to disk can be skipped entirely in some

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:

View raw message