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