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

Sylvain Lebresne commented on CASSANDRA-12216:
----------------------------------------------

bq. Which actually also is incorrect since a negative TTL is not allowed

Right, that's a mistake in the documentation; we internally use <= 0 for no TTL 
which is one whomever wrote the doc (possibly me) made the mistake. I'm not 
sure there is much value in allowing negative values if we already support 0 
and {{null}}, so let's maybe just update the doc accordingly.

bq. This looks like it should apply to previous versions, going back to 2.1 
even.

This is an improvement, as we never pretended supporting {{null}} before. 
Improvements goes to trunk, so no.

> TTL Reading And Writing is Asymmetric 
> --------------------------------------
>
>                 Key: CASSANDRA-12216
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12216
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Russell Spitzer
>            Assignee: Russell Spitzer
>            Priority: Minor
>             Fix For: 3.x
>
>         Attachments: 12216-3.7-2.txt, 12216-3.7.txt
>
>
> There is an inherent asymmetry in the way TTL's are read and Written. 
> An `TTL` of 0 when written becomes a `null` in C*
> When read, this `TTL` becomes a `null` 
> The `null` cannot be written back to C* as `TTL`
> This means that end users attempting to copy tables with TTL have to do 
> manual mapping of the null TTL values to 0 to avoid NPE. This is a bit 
> onerous when C* seems to have an internal logic that 0 == NULL. I don't think 
> C* should return values which are not directly insertable back to C*. 
> Even with the advent CASSANDRA-7304 this still remains a problem that the 
> User needs to be aware of and take care of.
> The following prepared statement
> {code}
> INSERT INTO test.table2 (k,v) (?,?) USING TTL: ? 
> {code}
> Will throw NPEs unless we specifically check that the value to be bound to 
> TTL is not null.
> I think we should discuss whether `null` should be treated as 0 in TTL for 
> prepared statements. 



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

Reply via email to