Cassandra 2.1.8:Node 拒绝在 removeUnfinishedCompactionLeftovers 中以 NPE 启动

Cassandra 2.1.8: Node refuses to start with NPE in removeUnfinishedCompactionLeftovers

我正在尝试将 Cassandra 2.1.0 集群升级到 2.1.8(最新版本)。

当我使用 2.1.8 运行时启动第一个节点时,出现错误并且节点拒绝启动。
这是错误的堆栈跟踪:

org.apache.cassandra.io.FSReadError: java.lang.NullPointerException
 at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:642) ~[apache-cassandra-2.1.8.jar:2.1.8]
 at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:302) [apache-cassandra-2.1.8.jar:2.1.8]
 at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:524) [apache-cassandra-2.1.8.jar:2.1.8]
 at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:613) [apache-cassandra-2.1.8.jar:2.1.8]
Caused by: java.lang.NullPointerException: null
 at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:634) ~[apache-cassandra-2.1.8.jar:2.1.8]
    ... 3 common frames omitted
FSReadError in Failed to remove unfinished compaction leftovers (file: /home/nudgeca2/datas/data/main/segment-97b5ba00571011e49a928bffe429b6b5/main-segment-ka-15432-Statistics.db).  See log for details.
 at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:642)
 at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:302)
 at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:524)
 at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:613)
Caused by: java.lang.NullPointerException
 at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:634)
    ... 3 more
Exception encountered during startup: java.lang.NullPointerException

集群有 7 个节点,它开启了 AWS Linux EC2 实例。
我尝试升级的节点在 nodetool 耗尽后停止。
然后我试图回到 2.1.0 运行时,但我现在遇到了类似的错误。
我也尝试停止并启动另一个节点,一切正常,节点重新启动没有任何问题。

我试图触摸丢失的文件(因为它应该被删除,我认为它可能不需要特定的内容)。我还有另外两个文件也有同样的错误,我也碰到过。最后,节点在尝试读取这些文件时进一步失败。

有人知道我应该做什么吗? 感谢您的帮助。

可能值得为该问题打开一个 Jira,因此如果不出意外,他们可以捕获 NPE 并提供更好的错误消息。

它似乎正在尝试打开:

文件:/home/nudgeca2/datas/data/main/segment-97b5ba00571011e49a928bffe429b6b5/main-segment-ka-15432-Statistics.db

它可能正在尝试读取该文件,因为它找到了关联的数据文件:(/home/nudgeca2/datas/data/main/segment-97b5ba00571011e49a928bffe429b6b5/main-segment-ka-15432-Data.db)。那个数据文件存在吗?我很想把它移开,看看它是否正常启动。