2010-11-27 21 views
1

我已經按照單一節點的入門指示操作,並且它在cassandra-0.7beta2中正常工作。但是,試圖爲卡桑德拉 - 0.7rc1做同樣的,當它噴出了以下堆棧跟蹤:cassandra.bat拋出java.io.IOException:在0.7rc1中更名失敗LocationInfo-e -1 -Data.db

 INFO 20:21:37,771 Starting up server gossip 
INFO 20:21:37,786 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='/var/lib 
/cassandra/commitlog\CommitLog-1290885697489.log', position=700) 
INFO 20:21:37,786 Enqueuing flush of [email protected](227 bytes, 4 operations) 
INFO 20:21:37,786 Writing [email protected](227 bytes, 4 operations) 
ERROR 20:21:38,161 Fatal exception in thread Thread[FlushWriter:1,5,main] 
java.io.IOError: java.io.IOException: rename failed of D:\var\lib\cassandra\data\system\LocationInfo-e-1-Data.db 
     at org.apache.cassandra.io.sstable.SSTableWriter.rename(SSTableWriter.java:214) 
     at org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:184) 
     at org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:167) 
     at org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:161) 
     at org.apache.cassandra.db.Memtable.access$000(Memtable.java:49) 
     at org.apache.cassandra.db.Memtable$1.runMayThrow(Memtable.java:174) 
     at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.io.IOException: rename failed of D:\var\lib\cassandra\data\system\LocationInfo-e-1-Data.db 
     at org.apache.cassandra.utils.FBUtilities.renameWithConfirm(FBUtilities.java:359) 
     at org.apache.cassandra.io.sstable.SSTableWriter.rename(SSTableWriter.java:210) 
     ... 12 more 

有人張貼在Cassandra的mailing list這個問題。 嘗試重命名tmp文件(例如LocationInfo-tmp-e-1-Data.db)時,似乎存在問題。 它發生在FBUtilities.java:

public static void renameWithConfirm(String tmpFilename, String filename) throws IOException 
    { 
     if (!new File(tmpFilename).renameTo(new File(filename))) 
     { 
      throw new IOException("rename failed of " + filename); 
     } 
    } 

我要指出,File.renameTo()被稱爲是工作在Windows上搞笑。

無論如何...幫助嗎?

回答

相關問題