cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Kendall (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-6623) Null in a cell caused by expired TTL does not work with IF clause (in CQL3)
Date Thu, 06 Mar 2014 06:27:47 GMT

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

Paul Kendall edited comment on CASSANDRA-6623 at 3/6/14 6:27 AM:
-----------------------------------------------------------------

This problem is not fixed. I am trying to exactly as the steps as in comment #2 above and
get exactly the same problems using the trunk version from git.

The expiry time of a column is in seconds
The call time passed to isLive is in milliseconds
The queryTimestamp is in microseconds (not seconds like the comment in the patch says)
There are 3 calls to the CQL3CasConditions constructor passing the queryTimestamp and the
one in ModificationStatement.executeWithCondition is the only one that changes the scale of
the time value.

>From my testing the best solution is to remove the scaling done here and apply a divide
by 1000 in the constructor of CQL3CasConditions.

Attached patch [^0001-Fix-for-expiring-columns-used-in-cas-conditions.patch]


was (Author: pkendall):
This problem is not fixed. I am trying to exactly as the steps as in comment #2 above and
get exactly the same problems using the trunk version from git.

The expiry time of a column is in seconds
The call time passed to isLive is in milliseconds
The queryTimestamp is in microseconds (not seconds like the comment in the patch says)
There are 3 calls to the CQL3CasConditions constructor passing the queryTimestamp and the
one in ModificationStatement.executeWithCondition is the only one that changes the scale of
the time value.

>From my testing the best solution is to remove the scaling done here and apply a divide
by 1000 in the constructor of CQL3CasConditions.

> Null in a cell caused by expired TTL does not work with IF clause (in CQL3)
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6623
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6623
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tests
>         Environment: One cluster with two nodes on a Linux and a Windows system. cqlsh
4.1.0 | Cassandra 2.0.4 | CQL spec 3.1.1 | Thrift protocol 19.39.0. CQL3 Column Family
>            Reporter: Csaba Seres
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 2.0.6
>
>         Attachments: 0001-Fix-for-expiring-columns-used-in-cas-conditions.patch, 6623.txt
>
>
> IF onecell=null clause does not work if the onecell has got its null value from an expired
TTL. If onecell is updated with null value (UPDATE) then IF onecell=null works fine.
> This bug is not present when you create a table with COMPACT STORAGE directive.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message