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

Sylvain Lebresne commented on CASSANDRA-5149:
---------------------------------------------

bq. I have trouble coming up with a use case for it.

You mean, for querying the expiration time of a column? My own experience with 
TTL leads me to believe that anyone using expiring columns will want to query 
the expiration time at one point or another. I personally had a case where if 
some TTLed columns were read, we were "extending" the TTL and how long it was 
extended depended on the current expiration time. Or, on the other end of the 
spectrum, wanting to update a column value without extending the TTL. I had 
also a number of case where not all columns had the same TTL, if any, and just 
knowing if the column was an expiring one was necessary (including but not 
limited to checking during development that the code was doing what it was 
supposed to do in terms of setting TTLs).

Also, if we were to transform expiring column to standard column on read, even 
ignoring the fact that we wouldn't be able to return the expiration time to 
clients, you'd have to be careful about read-repair "cancelling" your TTLs.  

Besides, as said above, especially if it's fix-for 2.0 (and so things like 
"this may require a protocol change" become largely irrelevant), I think 
normalizing all code on having expiration be based on a time fixed at well know 
places (like we do for gcBefore really) is the right long term solution.
                
> Respect slice count even if column expire mid-request
> -----------------------------------------------------
>
>                 Key: CASSANDRA-5149
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5149
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 0.7.0
>            Reporter: Sylvain Lebresne
>             Fix For: 2.0
>
>
> This is a follow-up of CASSANDRA-5099.
> If a column expire just while a slice query is performed, it is possible for 
> replicas to count said column as live but to have the coordinator seeing it 
> as dead when building the final result. The effect that the query might 
> return strictly less columns that the requested slice count even though there 
> is some live columns matching the slice predicate but not returned in the 
> result.

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