incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Lebresne <>
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, 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.


View raw message