Avoid NPE when doing CFS.scrubDataDirectories
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9002e76d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9002e76d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9002e76d Branch: refs/heads/trunk Commit: 9002e76d6971c3035a439209a9f2e5b8c2465247 Parents: 95e09f2 Author: Yuki Morishita <[email protected]> Authored: Mon Apr 28 11:58:43 2014 -0500 Committer: Yuki Morishita <[email protected]> Committed: Mon Apr 28 11:58:43 2014 -0500 ---------------------------------------------------------------------- src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9002e76d/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 36bc470..bfd3b08 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@ -434,7 +434,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean for (File dir : directories.getCFDirectories()) { File[] lockfiles = dir.listFiles(filter); - if (lockfiles.length == 0) + // lock files can be null if I/O error happens + if (lockfiles == null || lockfiles.length == 0) continue; logger.info("Removing SSTables from failed streaming session. Found {} files to cleanup.", lockfiles.length);
