[
https://issues.apache.org/jira/browse/CASSANDRA-7647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14079214#comment-14079214
]
Marcus Eriksson commented on CASSANDRA-7647:
to reproduce (will make a dtest for this):
{code}
oss/cassandra [cassandra-2.0●] » bin/cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.9-SNAPSHOT | CQL spec 3.1.1 | Thrift protocol
19.39.0]
Use HELP for help.
cqlsh CREATE KEYSPACE aa WITH replication = {'class': 'SimpleStrategy',
'replication_factor':1};
cqlsh use aa;
cqlsh:aa CREATE TABLE t (k int PRIMARY KEY,something text, a setvarchar, b
setvarchar);
cqlsh:aa INSERT INTO t (k, something, a, b) VALUES (1, 'bluh', {'a', 'aa'},
{'b', 'bb'});
cqlsh:aa INSERT INTO t (k, something, a, b) VALUES (2, 'bluh', {'a', 'aa'},
{'b', 'bb'});
oss/cassandra [cassandra-2.0●] » bin/nodetool flush
oss/cassandra [cassandra-2.0●] » bin/cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.9-SNAPSHOT | CQL spec 3.1.1 | Thrift protocol
19.39.0]
Use HELP for help.
cqlsh USE aa;
cqlsh:aa UPDATE t SET a=NULL WHERE k=1;
oss/cassandra [cassandra-2.0●] » bin/nodetool flush
oss/cassandra [cassandra-2.0●] » bin/cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.9-SNAPSHOT | CQL spec 3.1.1 | Thrift protocol
19.39.0]
Use HELP for help.
cqlsh USE aa;
cqlsh:aa SELECT * FROM t;
k | a | b | something
---+-+-+---
1 |null | {'b', 'bb'} | bluh
2 | {'a', 'aa'} | {'b', 'bb'} | bluh
(2 rows)
{code}
and upgrade the node to 2.1:
{code}
oss/cassandra [cassandra-2.1●] » bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.0-rc4-SNAPSHOT | CQL spec 3.2.0 | Native protocol
v3]
Use HELP for help.
cqlsh USE aa;
cqlsh:aa SELECT * FROM t;
k | a | b | something
---+-+-+---
1 |null | {'b', 'bb'} | bluh
2 | {'a', 'aa'} | {'b', 'bb'} | bluh
(2 rows)
cqlsh:aa
oss/cassandra [cassandra-2.1●] » bin/nodetool upgradesstables aa t
oss/cassandra [cassandra-2.1●] » bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.0-rc4-SNAPSHOT | CQL spec 3.2.0 | Native protocol
v3]
Use HELP for help.
cqlsh USE aa;
cqlsh:aa SELECT * FROM t;
k | a | b | something
---+-+-+---
1 |null | {'b', 'bb'} | bluh
2 | {'a', 'aa'} | {'b', 'bb'} | bluh
(2 rows)
cqlsh:aa
oss/cassandra [cassandra-2.1●] » bin/nodetool compact aa t
oss/cassandra [cassandra-2.1●] » bin/cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 2.1.0-rc4-SNAPSHOT | CQL spec 3.2.0 | Native protocol
v3]
Use HELP for help.
cqlsh USE aa;
cqlsh:aa SELECT * FROM t;
k | a | b | something
---+-+-+---
1 | {'a', 'aa'} | {'b', 'bb'} | bluh
2 | {'a', 'aa'} | {'b', 'bb'} | bluh
(2 rows)
{code}
Track min/max timestamps of range tombstones
Key: CASSANDRA-7647
URL: https://issues.apache.org/jira/browse/CASSANDRA-7647
Project: Cassandra
Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
Fix For: 2.0.10, 2.1.0
Attachments: 0001-track-rt-in-min-max-timestamps.patch
When compacting etc. we don't track min/max timestamps of range tombstones,
meaning a compacted sstable with only RTs will get bad values.
End result can be that we drop the sstable since it might look like it only
contains tombstones and is older than all other sstables, and we lose the
valid RT.
--
This message was sent by Atlassian JIRA
(v6.2#6252)