incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Lebresne <sylv...@datastax.com>
Subject Re: CQL3 and counters
Date Fri, 01 Mar 2013 11:00:17 GMT
>
> On C* 1.2.1 I see that the following query works:
>
>    update counters set value=value+5 where owner_id='1' and
> counter_type='trash';
>
> ...while the following one gives an error (Bad Request: Invalid
> non-counter operation on counter table):
>
>    update counters set value=5 where owner_id='1' and counter_type='trash';
>
>
> In C* 1.2.2. the latter started to work.


Thanks for this opportunity to say: DO *NOT* USE THAT!!!

The fact that that C* 1.2.2 acepts 'update counters set value=5 where ...'
is a bug, https://issues.apache.org/jira/browse/CASSANDRA-5300 namely.

If you do perform such a query, it *will corrupt* the counter.

So until 1.2.3 is released, please do not set a counter directly (continue
using only increment and decrement).


> And, more important, wouldn't be a Great(™) idea to allow direct setting
> of counters
>

It would be great yes if we knew how to make that work, but we don't. And
more precisely, setting a counter directly is not something compatible with
the current way counters are implemented (for the very same reason than
deletes don't really work with counters either: you can delete but only as
a definitive way to get rid of the counter. If you re-increment the counter
post-delete, anything can happen). We would have done it otherwise.

--
Sylvain

Mime
View raw message