[ 
https://issues.apache.org/jira/browse/CASSANDRA-10155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14715396#comment-14715396
 ] 

Ariel Weisberg commented on CASSANDRA-10155:
--------------------------------------------

The fail may go deeper than just filenames.

I copied KeyCacheCQLTest from Robert's in progress work to test saving and 
loading with a 2i.

I added 
{code}
        CacheService.instance.keyCache.submitWrite(Integer.MAX_VALUE).get();
{code}
to the end of KeyCacheCQLTest.test2iKeyCachePaths and got an exception
{code}
java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
        at java.util.ArrayList.rangeCheck(ArrayList.java:653) ~[na:1.8.0_51]
        at java.util.ArrayList.get(ArrayList.java:429) ~[na:1.8.0_51]
        at 
org.apache.cassandra.db.ClusteringPrefix$Serializer.valuesWithoutSizeSerializedSize(ClusteringPrefix.java:327)
 ~[main/:na]
        at 
org.apache.cassandra.db.Clustering$Serializer.serializedSize(Clustering.java:143)
 ~[main/:na]
        at 
org.apache.cassandra.db.ClusteringPrefix$Serializer.serializedSize(ClusteringPrefix.java:282)
 ~[main/:na]
        at 
org.apache.cassandra.db.Serializers$1.serializedSize(Serializers.java:68) 
~[main/:na]
        at 
org.apache.cassandra.db.Serializers$1.serializedSize(Serializers.java:1) 
~[main/:na]
        at 
org.apache.cassandra.io.sstable.IndexHelper$IndexInfo$Serializer.serializedSize(IndexHelper.java:187)
 ~[main/:na]
        at 
org.apache.cassandra.db.RowIndexEntry$IndexedEntry.promotedSize(RowIndexEntry.java:235)
 ~[main/:na]
        at 
org.apache.cassandra.db.RowIndexEntry$Serializer.serialize(RowIndexEntry.java:125)
 ~[main/:na]
        at 
org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize(CacheService.java:455)
 ~[main/:na]
        at 
org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize(CacheService.java:1)
 ~[main/:na]
        at 
org.apache.cassandra.cache.AutoSavingCache$Writer.saveCache(AutoSavingCache.java:292)
 ~[main/:na]
        at 
org.apache.cassandra.db.compaction.CompactionManager$12.run(CompactionManager.java:1279)
 ~[main/:na]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_51]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_51]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_51]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_51]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
{code}

Digging into this one now.

> 2i key cache load fails
> -----------------------
>
>                 Key: CASSANDRA-10155
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10155
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Robert Stupp
>            Assignee: Ariel Weisberg
>             Fix For: 2.1.9, 3.0.0 rc1, 2.2.2
>
>
> CASSANDRA-9265 changed how key cache content is serialized to disk. It uses 
> {{UUID cfId}} to generate the file path for each {{ColumnFamilyStore}}.
> Since {{cfId}} of a secondary index is the same as for the base table, the 
> key-cache files for 2i's and the base are the same. This will/may lead to 
> deserialization failures on restart for tables with at least one 2i.
> /cc [~aweisberg] [~danchia]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to