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