[ https://issues.apache.org/jira/browse/CASSANDRA-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179155#comment-13179155 ]
Pavel Yaskevich commented on CASSANDRA-1956: -------------------------------------------- That would work, actually I think that we can slightly modify IFilter to return number of columns involved or use resulting ColumnFamily.serializedSize() to check for threshold, I just want to make sure that cache has minimal memory overhead associated with keeping filters for thin rows. > Convert row cache to row+filter cache > ------------------------------------- > > Key: CASSANDRA-1956 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1956 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Stu Hood > Assignee: Vijay > Priority: Minor > Fix For: 1.2 > > Attachments: 0001-1956-cache-updates-v0.patch, > 0001-re-factor-row-cache.patch, 0001-row-cache-filter.patch, > 0002-1956-updates-to-thrift-and-avro-v0.patch, 0002-add-query-cache.patch > > > Changing the row cache to a row+filter cache would make it much more useful. > We currently have to warn against using the row cache with wide rows, where > the read pattern is typically a peek at the head, but this usecase would be > perfect supported by a cache that stored only columns matching the filter. > Possible implementations: > * (copout) Cache a single filter per row, and leave the cache key as is > * Cache a list of filters per row, leaving the cache key as is: this is > likely to have some gotchas for weird usage patterns, and it requires the > list overheard > * Change the cache key to "rowkey+filterid": basically ideal, but you need a > secondary index to lookup cache entries by rowkey so that you can keep them > in sync with the memtable > * others? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira