Hi Aaron, Thank you for your reply, I've reported a bug on the jira https://issues.apache.org/jira/browse/CASSANDRA-2739 .
Since I'm not in the office now, so I will come up with more information and try your methods when I'm in the office again, maybe next Monday. Thanks. -- Dikang Gu 0086 - 18611140205 On Friday, June 3, 2011 at 7:00 PM, aaron morton wrote: > Could you please create a bug report for this in Jira > https://issues.apache.org/jira/browse/CASSANDRA > > Please check the data directory on the node that encountered the error and > include any files names that have "tmp" in them. > > Can you also check for log messages on the node you decommissioned at the > INFO level that start with "Stream context metadata". > > it looks like the file version from the old files on the decommissioning node > are included in the stream header and it's used to create the new temp file > on the node that got this error. So when the it tries to build the other > SSTable files from the new data it thinks it's an old data file, even though > it's a v0.8 file. v0.8 can read v0.7 data files, but it would not expected to > see a new v0.7 data file. > > If this is the case the only work around I can think of would be to nodetool > scrub the node before starting decommission as this would write new data > files. It's a bit late here so I may have missed something. > > Thanks for reporting it. > > ----------------- > Aaron Morton > Freelance Cassandra Developer > @aaronmorton > http://www.thelastpickle.com > > > > > > On 3 Jun 2011, at 22:06, Dikang Gu wrote: > > Hi guys, > > > > I upgrade the 4-nodes cassandra 0.7.4 cluster to 0.8.0. Then, I do the > > bin/nodetool decommission on one node, the decommission hangs there and I > > got the following exceptions on others 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) > > > > Do you have any ideas about this? > > > > Thanks. > > > > -- > > Dikang Gu > > 0086 - 18611140205 > > >