Cassandra从2.2.1升级到3.0.0失败,出现NullPointerException

时间:2015-11-30 15:08:09

标签: cassandra upgrade cassandra-3.0

我尝试将Cassandra从2.2.1升级到3.0.0但Cassandra没有启动:

java.lang.ArrayIndexOutOfBoundsException: -1

其他人都面临这个问题? 我在这里也提出了一个问题: https://issues.apache.org/jira/browse/CASSANDRA-10788

以下是TRACE级别日志记录:

ERROR [main] 2015-11-30 15:44:50,164 CassandraDaemon.java:702 - Exception encountered during startup
java.lang.NullPointerException: null
    at org.apache.cassandra.io.util.FileUtils.delete(FileUtils.java:374) ~[apache-cassandra-3.0.0.jar:3.0.0]
    at org.apache.cassandra.db.SystemKeyspace.migrateDataDirs(SystemKeyspace.java:1341) ~[apache-cassandra-3.0.0.jar:3.0.0]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:180) [apache-cassandra-3.0.0.jar:3.0.0]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:561) [apache-cassandra-3.0.0.jar:3.0.0]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689) [apache-cassandra-3.0.0.jar:3.0.0]

看起来代码是/ data目录下的遗留文件,但它找不到任何代码并调用FileUtils.delete(null)。

2 个答案:

答案 0 :(得分:2)

可能影响迁移的一件事是Datastax的2.1.x到3.0转换为not recommended

  

Cassandra 3.0.x限制

     

从Cassandra 2.1版本升级到大于或等于2.1.9或从   Cassandra 2.2版本 大于或等于2.2.2

     

*强调添加

由于不存在的文件或重复的删除调用,可能会发生空指针。

我会尝试在3.0迁移之前升级到至少2.2.2。

答案 1 :(得分:1)

我能够通过使用此补丁解决问题: https://github.com/stef1927/cassandra/commit/1c464adf097d323320ce11db6daf05e1a31c62b6

更多细节: https://issues.apache.org/jira/browse/CASSANDRA-10788

谢谢,我会先看看从2.2.1升级到2.2.2是否有帮助。

相关问题