cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip Thompson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-9535) KeyCache code should handle assertion errors from corrupt keycache better
Date Tue, 02 Jun 2015 19:20:50 GMT

     [ 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)

Mime
View raw message