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

Sylvain Lebresne commented on CASSANDRA-6869:
---------------------------------------------

Truth is, when we said we would make 2.0 a mandatory stop to upgrade to 2.1, I 
kind of expected that would include asking people to upgrade their sstables 
too. To put it another way, since we do make 2.0 a mandatory stop (even 2.0.6+ 
in fact), I wonder if this is not the right time to additionally force an 
updatesstables while we're at it, and thus drop old sstable compat code. In a 
majority of case, upgrading to 2.0 will mean doing an updatesstables anyway 
since you can't stream without that (i.e. updatesstables is almost implied by 
an upgrade to a major), so I don't think that's a big additional burden.

So anyway, we can indeed add back code to handle the pre-2.0 format, but my 
vote goes to extending the "make 2.0 a mandatory stop" definition to include 
sstables. 

> Broken 1.2 sstables support in 2.1
> ----------------------------------
>
>                 Key: CASSANDRA-6869
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6869
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Aleksey Yeschenko
>            Assignee: Sylvain Lebresne
>             Fix For: 2.1 beta2
>
>
> CASSANDRA-5417 has broken 1.2 (ic) sstables support in at least two ways.
> 1. CFMetaData.getOnDiskSerializer(), used by SSTableNamesIterator and 
> IndexedSliceReader, doesn't account for pre-2.0 supercolumn sstables
> 2. More importantly, ACCNT.CompositeDeserializer doesn't handle ic tables' 
> cell counts, and maybeReadNext() might throw EOFException while expecting the 
> partition end marker. SimpleDeserializer is likely just as broken.
> I'd expect more issues like this, but less obvious, in the code, and thus am 
> torn between forcing people to run upgradesstables on 2.0 and actually fixing 
> these issues, and hoping that we haven't missed anything.
> Implementing a supercolumn aware AtomDeserializer is not hard, fixing 
> CompositeDeserializer and SimpleDeserializer isn't very hard either, but I 
> really am worried about stuff that's less obvious. Plus, if we drop that 
> support, we can get rid of some legacy supercolumn code in 2.1. Minus, 
> obviously, is a bit of extra pain for 2.0->2.1 upgraders still having 1.2- 
> sstables around.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to