简体   繁体   中英

Unable to start cassandra Because of change in java version

I am using cluster of three nodes on all of them i had upgraded java from 1.7 to 1.8 after that I am not able to start cassandra on any one of them. The following error is thrown

Also when I cleared data on one of the node and tried to start it worked. I think this is some java issue. Is there any solution for this ?

INFO  10:10:59 Initializing cw.usedcareventsbyprofileidnew
INFO  10:10:59 Opening /usr/local/hadoop/cassandra2112/data/data/cw/usedcareventsbyprofileidnew-5edbdef0ad4311e5856d07fc426478ef/cw-usedcareventsbyprofileidnew-ka-25 (174 bytes) 
ERROR 10:10:59 Exception encountered during startup java.lang.NullPointerException: null at java.util.HashMap.<init>(HashMap.java:294)
 ~[na:1.7.0_95] at org.apache.cassandra.db.index.composites.CompositesIndex.validateOptions(CompositesIndex.java:156) 
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.index.SecondaryIndex.createInstance(SecondaryIndex.java:364)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.index.SecondaryIndexManager.addIndexedColumn(SecondaryIndexManager.java:283)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:386) 
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:523)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:494)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:335)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:275)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:121)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.db.Keyspace.open(Keyspace.java:98)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:328)
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) 
 ~[apache-cassandra-2.1.12.jar:2.1.12] at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:651) 
 ~[apache-cassandra-2.1.12.jar:2.1.12] java.lang.NullPointerException   at java.util.HashMap.<init>(HashMap.java:294) 
  at org.apache.cassandra.db.index.composites.CompositesIndex.validateOptions(CompositesIndex.java:156) 
  at org.apache.cassandra.db.index.SecondaryIndex.createInstance(SecondaryIndex.java:364) 
  at org.apache.cassandra.db.index.SecondaryIndexManager.addIndexedColumn(SecondaryIndexManager.java:283) 
  at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:386) 
  at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:523) 
  at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:494) 
  at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:335) 
  at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:275) 
  at org.apache.cassandra.db.Keyspace.open(Keyspace.java:121) 
  at org.apache.cassandra.db.Keyspace.open(Keyspace.java:98) 
  at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:328) 
  at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:562) 
  at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:651) 
  Exception encountered during startup: null

If the indexOptions is null set it to Collections.emptyMap()

public void validateOptions() throws ConfigurationException {
        ColumnDefinition columnDef = columnDefs.iterator().next();
        Map<String, String> indexOptions = columnDef.getIndexOptions();
        if (indexOptions == null) {
            indexOptions = Collections.emptyMap();
        }
        Map<String, String> options = new HashMap<>(indexOptions);

        // We used to have an option called "prefix_size" so skip it silently for backward compatibility sake.
        options.remove("prefix_size");

        if (columnDef.type.isCollection())
        {
            options.remove(SecondaryIndex.INDEX_VALUES_OPTION_NAME);
            options.remove(SecondaryIndex.INDEX_KEYS_OPTION_NAME);
        }

        if (!options.isEmpty())
            throw new ConfigurationException("Unknown options provided for COMPOSITES index: " + options.keySet());
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM