[ https://issues.apache.org/jira/browse/CASSANDRA-2739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13043969#comment-13043969 ]
Jonathan Ellis commented on CASSANDRA-2739: ------------------------------------------- bq. run major compactions on all nodes before attempting to decommission again That won't necessarily fix it (since compaction will ignore single-sstable CFs), but scrub would. Really the right fix is to commit to keeping Builder/RowIndexer backwards compatible, because this will keep coming up otherwise. I think that we may in fact be fine already since decodeKey / readRowSize / CompactedRow encapsulate the version knowledge we'd need. > Cannot recover SSTable with version f (current version g) during the node > decommission. > --------------------------------------------------------------------------------------- > > Key: CASSANDRA-2739 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2739 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.8.0 > Environment: centos, cassandra 0.7.4 upgrade to 0.8.0-final. > Reporter: Dikang Gu > Labels: decommission, version > > I upgrade the 4-nodes cassandra 0.7.4 cluster to 0.8.0-final. Then, I do the > bin/nodetool decommission on one node, the decommission hangs there and I got > the following errors on other nodes. > ERROR [Thread-55] 2011-06-03 18:02:03,500 AbstractCassandraDaemon.java (line > 113) Fatal exception in thread Thread[Thread-55,5,main] > java.lang.RuntimeException: Cannot recover SSTable with version f (current > version g). > at > org.apache.cassandra.io.sstable.SSTableWriter.createBuilder(SSTableWriter.java:240) > at > org.apache.cassandra.db.CompactionManager.submitSSTableBuild(CompactionManager.java:1088) > at > org.apache.cassandra.streaming.StreamInSession.finished(StreamInSession.java:108) > at > org.apache.cassandra.streaming.IncomingStreamReader.readFile(IncomingStreamReader.java:104) > at > org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:61) > at > org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:155) > at > org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:93) > ERROR [Thread-56] 2011-06-03 18:02:04,285 AbstractCassandraDaemon.java (line > 113) Fatal exception in thread Thread[Thread-56,5,main] > java.lang.RuntimeException: Cannot recover SSTable with version f (current > version g). > at > org.apache.cassandra.io.sstable.SSTableWriter.createBuilder(SSTableWriter.java:240) > at > org.apache.cassandra.db.CompactionManager.submitSSTableBuild(CompactionManager.java:1088) > at > org.apache.cassandra.streaming.StreamInSession.finished(StreamInSession.java:108) > at > org.apache.cassandra.streaming.IncomingStreamReader.readFile(IncomingStreamReader.java:104) > at > org.apache.cassandra.streaming.IncomingStreamReader.read(IncomingStreamReader.java:61) > at > org.apache.cassandra.net.IncomingTcpConnection.stream(IncomingTcpConnection.java:155) > at > org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:93) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira