[jira] [Commented] (CASSANDRA-7647) Track min/max timestamps of range tombstones

2014-07-30 Thread Marcus Eriksson (JIRA)

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


[jira] [Commented] (CASSANDRA-7647) Track min/max timestamps of range tombstones

2014-07-30 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14079306#comment-14079306
 ] 

Aleksey Yeschenko commented on CASSANDRA-7647:
--

+1 (although there is no difference between RangeTombstone#minTimestamp() and 
RangeTombstone#maxTimestamp(), and in 2.1 they are both gone in favor of 
RangeTombstone#timestamp()).

 Track min/max timestamps of range tombstones
 

 Key: CASSANDRA-7647
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7647
 Project: Cassandra
  Issue Type: Bug
  Components: Core
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)