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

Aleksey Yeschenko commented on CASSANDRA-8047:
----------------------------------------------

[~CatalinConstantin] that's b/c that sstable is now 2.1-versioned, and 2.0 
doesn't know how to read it.

This is another reason why we need a downgradesstables tool. But, in general, I 
feel like we are relying too much on NEWS.txt being actually read. But many 
people don't - I've seen it more than a couple times now, myself.

I think we need to add an explicit compatibility-check stage on startup, before 
we attempt to convert or modify *anything* (incl. schema) or write any new 
data, or join the cluster. Check if all the sstables are recent enough, if the 
previous version is compatible with the current one, etc., and fail hard before 
any harm was done, if incompatibilities have been found.

> Node refuses to start when 1.2 sstables are present in 2.1
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-8047
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8047
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Debian 7.6 - 64 bit
> Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
>            Reporter: Catalin Constantin
>
> After upgrading from 2.0.9 to 2.1.0 the node crashes on startup.
> INFO  [SSTableBatchOpen:2] 2014-10-03 16:41:32,633 SSTableReader.java:383 - 
> Opening /var/lib/cassandra/data/Transactional/Send/Transactional-Send-jb-2882 
> (5422816888 bytes)
> INFO  [main] 2014-10-03 16:41:33,319 AutoSavingCache.java:115 - reading saved 
> cache /var/lib/cassandra/saved_caches/Transactional-Send-KeyCache-b.db
> ERROR [main] 2014-10-03 16:41:33,477 CassandraDaemon.java:474 - Exception 
> encountered during startup
> java.lang.RuntimeException: Incompatible SSTable found. Current version ka is 
> unable to read file: 
> /var/lib/cassandra/data/Transactional/Data/Transactional-Data-ic-10671. 
> Please run upgradesstables.
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:443)
>  ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at 
> org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:420)
>  ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:327) 
> ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:280) 
> ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Keyspace.open(Keyspace.java:122) 
> ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99) 
> ~[apache-cassandra-2.1.0.jar:2.1.0]
>         at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:269) 
> [apache-cassandra-2.1.0.jar:2.1.0]
>         at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:457)
>  [apache-cassandra-2.1.0.jar:2.1.0]
>         at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:546) 
> [apache-cassandra-2.1.0.jar:2.1.0]



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

Reply via email to