cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Boudreault (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-8430) Updating a row that has a TTL produce unexpected results
Date Tue, 09 Dec 2014 18:57:12 GMT

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

Alan Boudreault edited comment on CASSANDRA-8430 at 12/9/14 6:56 PM:
---------------------------------------------------------------------

[~angarrett] I think your confusion is due to the the fact that you consider the *PRIMARY
KEY* as a column, when it is not. We cannot delete the primary key *column* without deleting
ALL other columns. The TTL of the Primary Key (or row) is MAX(all_column_ttls), 0 being considered
as infinity, so the higher. So it is normal that modifying a column ttl with a lower ttl doesn't
affect the row TTL. Does it make sense? [~slebresne] can confirm if I'm right too. 


was (Author: aboudreault):
[~angarrett] I think your confusion is due to the the fact that you consider the *PRIMARY
KEY* as a column, when it is not. The TTL of the Primary Key (or row) is MAX(all_column_ttls),
0 being considered as infinity, so the higher. So it is normal that modifying a column ttl
with a lower ttl doesn't affect the row TTL. Does it make sense? [~slebresne] can confirm
if I'm right too. 

> Updating a row that has a TTL produce unexpected results
> --------------------------------------------------------
>
>                 Key: CASSANDRA-8430
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8430
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Alan Boudreault
>              Labels: cassandra, ttl
>             Fix For: 2.0.11, 2.1.2, 3.0
>
>         Attachments: test.sh
>
>
> Reported on stackoverflow: http://stackoverflow.com/questions/27280407/cassandra-ttl-gets-set-to-0-on-primary-key-if-no-ttl-is-specified-on-an-update?newreg=19e8c6757c62474985fef7c3037e8c08
> I can reproduce the issue with 2.0, 2.1 and trunk. I've attached a small script to reproduce
the issue with CCM, and here is it's output:
> {code}
> aboudreault@kovarro:~/dev/cstar/so27280407$ ./test.sh 
> Current cluster is now: local
> Insert data with a 5 sec TTL
> INSERT INTO ks.tbl (pk, foo, bar) values (1, 1, 'test') using TTL 5;
>  pk | bar  | foo
> ----+------+-----
>   1 | test |   1
> (1 rows)
> Update data with no TTL
> UPDATE ks.tbl set bar='change' where pk=1;
> sleep 6 sec
> BUG: Row should be deleted now, but isn't. and foo column has been deleted???
>  pk | bar    | foo
> ----+--------+------
>   1 | change | null
> (1 rows)
> Insert data with a 5 sec TTL
> INSERT INTO ks.tbl (pk, foo, bar) values (1, 1, 'test') using TTL 5;
>  pk | bar  | foo
> ----+------+-----
>   1 | test |   1
> (1 rows)
> Update data with a higher (10) TTL
> UPDATE ks.tbl USING TTL 10 set bar='change' where pk=1;
> sleep 6 sec
> BUG: foo column has been deleted?
>  pk | bar    | foo
> ----+--------+------
>   1 | change | null
> (1 rows)
> sleep 5 sec
> Data is deleted now after the second TTL set during the update. Is this a bug or the
expected behavior?
> (0 rows)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message