You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "vinoth (JIRA)" <ji...@apache.org> on 2015/06/30 11:51:05 UTC
[jira] [Updated] (CASSANDRA-9684) Update Counter after delete will
make counter increments from Previous Counter Values.
[ https://issues.apache.org/jira/browse/CASSANDRA-9684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
vinoth updated CASSANDRA-9684:
------------------------------
Description:
I am using apache-cassandra 2.1.7 datastax version
I saw the discussion about the counter deletes in CASSANDRA-7326 and CASSANDRA-6532.
Below is my Case:
Create a table with 3 counters with grace_seconds to 1.
Update a value to 3 counter.(cnt1+1, cnt2+2,cnt3+3)
Now we have some values in 3 counter say (1,2,3)
Now i delete the row of counters and make sure it is flush and compacted.
Then update the same query (cnt1+1, cnt2+2,cnt3+3).
But the values updated are (2,4,6)-->Previous Counter Values + Current increments.
cqlsh:pidb> describe table testc;
CREATE TABLE pidb.testc (
domain text PRIMARY KEY,
fair counter,
good counter,
poor counter
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 1
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
cqlsh:pidb> select * from testc;
domain | fair | good | poor
--------+------+------+------
xyz | 43 | 19 | 9
[root@node1 ~]# /usr/local/cassandra/bin/nodetool flush
[root@node1 ~]# /usr/local/cassandra/bin/nodetool compact pidb testc
psmart@cqlsh:pidb> delete from testc where domain='sbc';
psmart@cqlsh:pidb> select * from testc;
domain | fair | good | poor
--------+------+------+------
[root@node1 ~]# /usr/local/cassandra/bin/nodetool flush
[root@node1 ~]# /usr/local/cassandra/bin/nodetool compact pidb testc
psmart@cqlsh:pidb> select * from testc;
domain | fair | good | poor
--------+------+------+------
(0 rows)
cqlsh:pidb> update testc set poor=poor + 2,good = good +4 , fair = fair+9 where domain='sbc';
psmart@cqlsh:pidb> select * from testc;
(43+9) (19+4) (9+2)
domain | fair | good | poor
--------+------+------+------
xyz | 52 | 23 | 11
was:
I am using apache-cassandra 2.1.7 datastax version
I saw the discussion about the counter deletes in CASSANDRA-7326 and 6532.
Below is my Case:
Create a table with 3 counters with grace_seconds to 1.
Update a value to 3 counter.(cnt1+1, cnt2+2,cnt3+3)
Now we have some values in 3 counter say (1,2,3)
Now i delete the row of counters and make sure it is flush and compacted.
Then update the same query (cnt1+1, cnt2+2,cnt3+3).
But the values updated are (2,4,6)-->Previous Counter Values + Current increments.
cqlsh:pidb> describe table testc;
CREATE TABLE pidb.testc (
domain text PRIMARY KEY,
fair counter,
good counter,
poor counter
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 1
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
cqlsh:pidb> select * from testc;
domain | fair | good | poor
--------+------+------+------
xyz | 43 | 19 | 9
[root@node1 ~]# /usr/local/cassandra/bin/nodetool flush
[root@node1 ~]# /usr/local/cassandra/bin/nodetool compact pidb testc
psmart@cqlsh:pidb> delete from testc where domain='sbc';
psmart@cqlsh:pidb> select * from testc;
domain | fair | good | poor
--------+------+------+------
[root@node1 ~]# /usr/local/cassandra/bin/nodetool flush
[root@node1 ~]# /usr/local/cassandra/bin/nodetool compact pidb testc
psmart@cqlsh:pidb> select * from testc;
domain | fair | good | poor
--------+------+------+------
(0 rows)
cqlsh:pidb> update testc set poor=poor + 2,good = good +4 , fair = fair+9 where domain='sbc';
psmart@cqlsh:pidb> select * from testc;
(43+9) (19+4) (9+2)
domain | fair | good | poor
--------+------+------+------
xyz | 52 | 23 | 11
> Update Counter after delete will make counter increments from Previous Counter Values.
> --------------------------------------------------------------------------------------
>
> Key: CASSANDRA-9684
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9684
> Project: Cassandra
> Issue Type: Bug
> Reporter: vinoth
>
> I am using apache-cassandra 2.1.7 datastax version
> I saw the discussion about the counter deletes in CASSANDRA-7326 and CASSANDRA-6532.
> Below is my Case:
> Create a table with 3 counters with grace_seconds to 1.
> Update a value to 3 counter.(cnt1+1, cnt2+2,cnt3+3)
> Now we have some values in 3 counter say (1,2,3)
> Now i delete the row of counters and make sure it is flush and compacted.
> Then update the same query (cnt1+1, cnt2+2,cnt3+3).
> But the values updated are (2,4,6)-->Previous Counter Values + Current increments.
> cqlsh:pidb> describe table testc;
> CREATE TABLE pidb.testc (
> domain text PRIMARY KEY,
> fair counter,
> good counter,
> poor counter
> ) WITH bloom_filter_fp_chance = 0.01
> AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
> AND comment = ''
> AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
> AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND dclocal_read_repair_chance = 0.1
> AND default_time_to_live = 0
> AND gc_grace_seconds = 1
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = '99.0PERCENTILE';
> cqlsh:pidb> select * from testc;
> domain | fair | good | poor
> --------+------+------+------
> xyz | 43 | 19 | 9
> [root@node1 ~]# /usr/local/cassandra/bin/nodetool flush
> [root@node1 ~]# /usr/local/cassandra/bin/nodetool compact pidb testc
> psmart@cqlsh:pidb> delete from testc where domain='sbc';
> psmart@cqlsh:pidb> select * from testc;
> domain | fair | good | poor
> --------+------+------+------
> [root@node1 ~]# /usr/local/cassandra/bin/nodetool flush
> [root@node1 ~]# /usr/local/cassandra/bin/nodetool compact pidb testc
> psmart@cqlsh:pidb> select * from testc;
> domain | fair | good | poor
> --------+------+------+------
> (0 rows)
> cqlsh:pidb> update testc set poor=poor + 2,good = good +4 , fair = fair+9 where domain='sbc';
> psmart@cqlsh:pidb> select * from testc;
> (43+9) (19+4) (9+2)
> domain | fair | good | poor
> --------+------+------+------
> xyz | 52 | 23 | 11
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)