[ https://issues.apache.org/jira/browse/CASSANDRA-9535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Philip Thompson updated CASSANDRA-9535: --------------------------------------- Issue Type: Improvement (was: New Feature) > KeyCache code should handle assertion errors from corrupt keycache better > ------------------------------------------------------------------------- > > Key: CASSANDRA-9535 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9535 > Project: Cassandra > Issue Type: Improvement > Reporter: Philip Thompson > Fix For: 3.x, 2.2.x > > > While running 2.2.0-beta1, a user ran into the following exception from a > corrupt keycache file: > {code} > ERROR [main] 2015-05-30 10:31:18,603 CassandraDaemon.java:571 - Exception > encountered during startup > java.lang.AssertionError: null > at > org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:202) > ~[main/:na] > at > org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:190) > ~[main/:na] > at > org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:144) > ~[main/:na] > at > org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:446) > ~[main/:na] > at > org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:142) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:328) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:455) > ~[main/:na] > at > org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:431) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:324) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:275) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:117) > ~[main/:na] > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:94) ~[main/:na] > at > org.apache.cassandra.service.StartupChecks$8.execute(StartupChecks.java:281) > ~[main/:na] > at > org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:103) > ~[main/:na] > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:128) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:451) > [main/:na] > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:558) > [main/:na] > {code} > This is from the failed assert of {{columnsIndex.size() >1}} at > {code} > private IndexedEntry(long position, DeletionTime deletionTime, > List<IndexHelper.IndexInfo> columnsIndex) > { > super(position); > assert deletionTime != null; > assert columnsIndex != null && columnsIndex.size() > 1; > this.deletionTime = deletionTime; > this.columnsIndex = columnsIndex; > } > {code} > Discussing with [~thobbs], he felt that C* could do a better job of handling > this, even though the root issue was a corrupt file. -- This message was sent by Atlassian JIRA (v6.3.4#6332)