cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-10155) 2i key cache load fails
Date Wed, 26 Aug 2015 19:47:45 GMT

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

Mime
View raw message