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
> > 
> 

Reply via email to