[ https://issues.apache.org/jira/browse/CASSANDRA-6869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13937701#comment-13937701 ]
Aleksey Yeschenko commented on CASSANDRA-6869: ---------------------------------------------- For the record, I'm also leaning towards making upgradesstables mandatory in 2.0. > 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)