[ https://issues.apache.org/jira/browse/CASSANDRA-3985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13267911#comment-13267911 ]
Pavel Yaskevich commented on CASSANDRA-3985: -------------------------------------------- +1, right now we won't try to return the directory with the biggest empty space and would abort compaction if there is no sufficient space left. > Ensure a directory is selected 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 > Fix For: 1.0.9 > > Attachments: 3985-2.txt, cassandra-1.0-3985.txt > > > 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