You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jonathan Ellis (JIRA)" <ji...@apache.org> on 2012/05/04 00:32:48 UTC
[jira] [Commented] (CASSANDRA-3985) Ensure a directory is selected
for Compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-3985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13267889#comment-13267889 ]
Jonathan Ellis commented on CASSANDRA-3985:
-------------------------------------------
I don't understand this. This will still return null for user defined compactions under the same conditions it would have before, with no log message, since ensureFreeSpace == !isUserDefined.
> 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: 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