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

Stu Hood edited comment on CASSANDRA-2739 at 6/3/11 11:12 PM:
--------------------------------------------------------------

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 for 674 has been to move all datafile reading 
logic into the iterators ( see CASSANDRA-2576 and CASSANDRA-2629) which allows 
the index writing and sstable reading to vary by version.

What those _don't_ allow for is recognizing that the datafile for f is 
compatible with g, such that it can just be renamed on the destination. We 
might be able to warn and rewrite the file immediately on the destination if we 
can't just reindex it directly? This is approximately what 2576 does (but only 
for counters).

      was (Author: stuhood):
    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