Always ensure enough space for Compaction -----------------------------------------
Key: CASSANDRA-3985 URL: https://issues.apache.org/jira/browse/CASSANDRA-3985 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 1.0.7 Reporter: Aaron Morton Assignee: Aaron Morton Priority: Minor >From http://www.mail-archive.com/user@cassandra.apache.org/msg20757.html CompactionTask.execute() checks if there is a valid compactionFileLocation only if partialCompactionsAcceptable() . upgradesstables results in a CompactionTask with userdefined set, so the valid location check is not performed. The result is a NPE, partial stack {code:java} $ nodetool -h localhost upgradesstables Error occured while upgrading the sstables for keyspace MyKeySpace java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) at java.util.concurrent.FutureTask.get(FutureTask.java:83) at org.apache.cassandra.db.compaction.CompactionManager.performAllSSTableOperation(CompactionManager.java:203) at org.apache.cassandra.db.compaction.CompactionManager.performSSTableRewrite(CompactionManager.java:219) at org.apache.cassandra.db.ColumnFamilyStore.sstablesRewrite(ColumnFamilyStore.java:995) at org.apache.cassandra.service.StorageService.upgradeSSTables(StorageService.java:1648) <snip> Caused by: java.lang.NullPointerException at java.io.File.<init>(File.java:222) at org.apache.cassandra.db.ColumnFamilyStore.getTempSSTablePath(ColumnFamilyStore.java:641) at org.apache.cassandra.db.ColumnFamilyStore.getTempSSTablePath(ColumnFamilyStore.java:652) at org.apache.cassandra.db.ColumnFamilyStore.createCompactionWriter(ColumnFamilyStore.java:1888) at org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:151) at org.apache.cassandra.db.compaction.CompactionManager$4.perform(CompactionManager.java:229) at org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:182) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) {code} (night time here, will fix tomorrow, anyone else feel free to fix it.) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira