Cassandra 2.1.8:Node拒绝在removeUnfinishedCompactionLeftovers中以NPE开头

时间:2015-07-10 16:38:02

标签: cassandra upgrade

我正在尝试将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运行时但我现在得到了类似的错误 我也尝试停止并启动另一个节点,一切正常,节点重启没有任何问题。

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

任何人都知道我应该怎么做? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

可能值得为这个问题打开一个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═.db)。该数据文件是否存在?我很想把它移开,看看它是否正常启动。