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

Stu Hood commented on CASSANDRA-2739:
-------------------------------------

bq. I think that we may in fact be fine already since decodeKey / readRowSize / 
CompactedRow encapsulate the version knowledge we'd need.
The approach I've taken so far has been to move all datafile reading logic into 
the iterators: see CASSANDRA-2576 and CASSANDRA-2629. What those _don't_ allow 
for is recognizing that the datafile for f is compatible with g, and can just 
be renamed on the destination.

> 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

Reply via email to