[
https://issues.apache.org/jira/browse/CASSANDRA-6532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13857864#comment-13857864
]
Aleksey Yeschenko commented on CASSANDRA-6532:
----------------------------------------------
It's not 'hard to fix' - it's a fundamental limitation. As I said before,
deletes do not commute.
bq. Minimally, it should throw an error if you're not going to fix it....
Can't be done, either, since it would require a non-local read before a counter
write, which is a no-go.
There are basically only two options: 1) allow deletes, but, once deleted, make
counters non-reusable and 2) don't allow deletes at all.
We've chosen 2).
> Deleting and re-adding counter causes null count value.
> -------------------------------------------------------
>
> Key: CASSANDRA-6532
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6532
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Environment: cqlsh 4.1.0 | Cassandra 2.0.3 | CQL spec 3.1.1 | Thrift
> protocol 19.38.0
> Reporter: Gregory Ramsperger
> Labels: counters
>
> After a specific counter has been deleted, recreating a new counter with the
> same key causes the value to be permanently null.
> {noformat}
> cqlsh:demo> create table DemoCounter ( pk text primary key, cnt counter );
> cqlsh:demo> update DemoCounter set cnt = cnt + 1 where pk = 'foo';
> cqlsh:demo> select * from DemoCounter;
> pk | cnt
> -----+-----
> foo | 1
> (1 rows)
> cqlsh:demo> delete from DemoCounter where pk = 'foo';
> cqlsh:demo> select * from DemoCounter;
> (0 rows)
> cqlsh:demo> update DemoCounter set cnt = cnt + 1 where pk = 'foo';
> cqlsh:demo> select * from DemoCounter;
> pk | cnt
> -----+------
> foo | null
> (1 rows)
> cqlsh:demo>
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)