[ 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)