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

Pavel Yaskevich commented on CASSANDRA-5661:
--------------------------------------------

I have pulled/rebuild your code and now there is another error:

{noformat}
 INFO 23:24:33,367 Opening 
/var/lib/cassandra/data/system/local/system-local-ja-21 (520 bytes)
ERROR 23:24:33,412 Exception encountered during startup
java.lang.ClassCastException: 
com.github.benmanes.multiway.ResourceKey$LinkedResourceKey cannot be cast to 
java.lang.String
        at 
org.apache.cassandra.io.util.PoolingSegmentedFile$1.weigh(PoolingSegmentedFile.java:35)
        at 
com.google.common.cache.LocalCache$Segment.setValue(LocalCache.java:2219)
        at 
com.google.common.cache.LocalCache$Segment.storeLoadedValue(LocalCache.java:3196)
        at 
com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2410)
        at 
com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2375)
        at 
com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
        at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
        at 
com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4793)
        at 
com.github.benmanes.multiway.TransferPool.newResourceHandle(TransferPool.java:215)
        at 
com.github.benmanes.multiway.TransferPool.tryToGetResourceHandle(TransferPool.java:195)
        at 
com.github.benmanes.multiway.TransferPool.getResourceHandle(TransferPool.java:176)
        at 
com.github.benmanes.multiway.TransferPool.borrow(TransferPool.java:156)
        at 
com.github.benmanes.multiway.TransferPool.borrow(TransferPool.java:147)
        at 
org.apache.cassandra.io.util.PoolingSegmentedFile.getSegment(PoolingSegmentedFile.java:65)
        at 
org.apache.cassandra.io.sstable.SSTableReader.getFileDataInput(SSTableReader.java:1040)
        at 
org.apache.cassandra.db.columniterator.SSTableNamesIterator.createFileDataInput(SSTableNamesIterator.java:96)
        at 
org.apache.cassandra.db.columniterator.SSTableNamesIterator.read(SSTableNamesIterator.java:109)
        at 
org.apache.cassandra.db.columniterator.SSTableNamesIterator.<init>(SSTableNamesIterator.java:62)
        at 
org.apache.cassandra.db.filter.NamesQueryFilter.getSSTableColumnIterator(NamesQueryFilter.java:87)
        at 
org.apache.cassandra.db.filter.QueryFilter.getSSTableColumnIterator(QueryFilter.java:62)
        at 
org.apache.cassandra.db.CollationController.collectTimeOrderedData(CollationController.java:124)
        at 
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53)
        at 
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1458)
        at 
org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1284)
        at org.apache.cassandra.db.Keyspace.getRow(Keyspace.java:332)
        at 
org.apache.cassandra.db.SliceByNamesReadCommand.getRow(SliceByNamesReadCommand.java:55)
        at 
org.apache.cassandra.cql3.statements.SelectStatement.readLocally(SelectStatement.java:227)
        at 
org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:245)
        at 
org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:56)
        at 
org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:154)
        at 
org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:456)
        at 
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:237)
        at 
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:453)
        at 
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:496)
{noformat}
                
> Discard pooled readers for cold data
> ------------------------------------
>
>                 Key: CASSANDRA-5661
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5661
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.1
>            Reporter: Jonathan Ellis
>            Assignee: Pavel Yaskevich
>             Fix For: 2.0
>
>         Attachments: CASSANDRA-5661-multiway-per-sstable.patch, 
> CASSANDRA-5661.patch, CASSANDRA-5661-v2-global-multiway-per-sstable.patch, 
> DominatorTree.png, Histogram.png
>
>
> Reader pooling was introduced in CASSANDRA-4942 but pooled 
> RandomAccessReaders are never cleaned up until the SSTableReader is closed.  
> So memory use is "the worst case simultaneous RAR we had open for this file, 
> forever."
> We should introduce a global limit on how much memory to use for RAR, and 
> evict old ones.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to