Aleksey Yeschenko created CASSANDRA-6869:
--------------------------------------------

             Summary: 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