[ 
https://issues.apache.org/jira/browse/CASSANDRA-12423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15434242#comment-15434242
 ] 

Stefania commented on CASSANDRA-12423:
--------------------------------------

Thanks for the review! 

I've renamed {{INCL_END_BOUND_EOC_0}} to {{END_BOUND_EOC_0}} and I've updated 
the comment as you suggested. I appreciate your explanation and your test as 
the exact behavior wasn't 100% clear to me as well.

I've picked up your test in [this 
branch|https://github.com/stef1927/cassandra-dtest/commits/12423] and I will 
create a pull request shortly after resolving this ticket.

In terms of mixed-version clusters, I don't think we can risk deserialization 
exceptions and the second option is not ideal, plus it's risky to trust people 
to do the right thing. What we want is to ideally detect a rolling upgrade with 
other 3.0.x or 3.x hosts without the fix and disable this fix until the rolling 
upgrade is completed. If range tombstones with EOC=0 are uncommon amongst the 
majority of users, we could simply put the fix behind a flag and tell people 
who have EOC=0 range tombstones to enable the flag after the rolling upgrade is 
complete but before upgrading sstables. This would make it safer to deploy this 
in 3.0.x as well as 3.x. The price is inconvenience for the users affected, but 
given this is a thrift issue, I would expect those users to be experienced 
enough to cope, provided we document it well in NEWS.TXT. What do you think?


> Cells missing from compact storage table after upgrading from 2.1.9 to 3.7
> --------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12423
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12423
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Tomasz Grabiec
>            Assignee: Stefania
>         Attachments: 12423.tar.gz
>
>
> Schema:
> {code}
> create table ks1.test ( id int, c1 text, c2 text, v int, primary key (id, c1, 
> c2)) with compact storage and compression = {'sstable_compression': ''};
> {code}
> sstable2json before upgrading:
> {code}
> [
> {"key": "1",
>  "cells": [["","0",1470761440040513],
>            ["a","asd",2470761440040513,"t",1470764842],
>            ["asd:","0",1470761451368658],
>            ["asd:asd","0",1470761449416613]]}
> ]
> {code}
> Query result with 2.1.9:
> {code}
> cqlsh> select * from ks1.test;
>  id | c1  | c2   | v
> ----+-----+------+---
>   1 |     | null | 0
>   1 | asd |      | 0
>   1 | asd |  asd | 0
> (3 rows)
> {code}
> Query result with 3.7:
> {code}
> cqlsh> select * from ks1.test;
>  id | 6331 | 6332 | v
> ----+------+------+---
>   1 |      | null | 0
> (1 rows)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to