Tested on WINDOWS : On startup of the 2.0.0 version from 1.2.x files I get an 
error as listed below.

This is due to the code in LeveledManifest:: mutateLevel. The method already 
has a comment saying that it is scary ...
On windows, one cannot use the File::rename if the target file name already 
exists.
Also, even on Linux, I'm not sure if a rename would actually 
'overwrite/implicit-delete' the content of the target file.

Anyway, adding code (below) before the FileUtils.renameWithConfirm should work 
in both cases (maybe even rename the fromFile to be able to recover...)
File oTo = new File(filename);
                if ( oTo.exists() ) oTo.delete();


java.lang.RuntimeException: Failed to rename 
.....xxx\Function-ic-10-Statistics.db-tmp to 
.....xxx\Function-ic-10-Statistics.db
                at 
org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:136) 
~[main/:na]
                at 
org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:125) 
~[main/:na]
                at 
org.apache.cassandra.db.compaction.LeveledManifest.mutateLevel(LeveledManifest.java:601)
 ~[main/:na]
                at 
org.apache.cassandra.db.compaction.LegacyLeveledManifest.migrateManifests(LegacyLeveledManifest.java:103)
 ~[main/:na]
                at 
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:247) 
~[main/:na]
                at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:443) 
~[main/:na]

Regards,

Ignace Desimpel

Reply via email to