cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6649) CQL: disallow counter update with "USING TIMESTAMP" and "USING TTL"
Date Tue, 11 Feb 2014 18:26:25 GMT


Sylvain Lebresne commented on CASSANDRA-6649:

For the 2.0 version, I really think we should have a longer, more explanatory message, since
users will get that out of context in the log. Something like: "Detected use of 'USING TIMESTAMP'
in counter UPDATE. This is invalid since counters do not use timestamps and the timestamp
has been ignored. Such query will be rejected starting from Cassandra 2.1 so you should fix
your query.". But lgtm otherwise.

Note: I would also commit that in 1.2 too because really, that's just a warning and it's never
too early to warn user that it's not doing what they probably think it does (if we end up
not doing any more 1.2 release, there is still not harm having committed it). I'm not extremely
strong on that though.

> CQL: disallow counter update with "USING TIMESTAMP" and "USING TTL"
> -------------------------------------------------------------------
>                 Key: CASSANDRA-6649
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Aleksey Yeschenko
>            Priority: Trivial
>             Fix For: 2.0.6, 2.1
>         Attachments: 6649-2.0.txt, 6649-2.1.txt
> Timestamps are not used by counters and TTL are not supported, but it appears we don't
reject counter updates that have "USING TIMESTAMP X" or "USING TTL X". We should since both
are non-sensical (the value is completely ignored currently).
> Note: we should also refuse "USING TIMESTAMP" on "DELETE" statements on counters table:
even though we kind of do use a timestamp internally, it's more of an implementation detail
and in fact may go away with CASSANDRA-6506 (there is also nothing clever you can do with
it by providing it client side).
> Note bis: strictly speaking doing that could break a few users that where setting those
thinking it does something. I think that the lack of validation is more of a bug and that
user that think it's doing something probably ought to know it's not sooner than later, but
I could be fine with just warning in the log file for 1.2 and 2.0, and only rejecting in 2.1
if someone thinks it's safer.

This message was sent by Atlassian JIRA

View raw message