[ https://issues.apache.org/jira/browse/CASSANDRA-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179765#comment-13179765 ]
Daniel Doubleday commented on CASSANDRA-1956: --------------------------------------------- bq. As a side note, I share Daniel's opinion (at least I believe that's what he meant earlier) that a serializing query cache that invalidate on update will be very useful for wide rows. If there's a 'not' missing here than yes :-) bq. However I see a cache that would not invalidate on update but keep the cached data matching the filter be much more useful Just as an implementation idea that could make this easier: If the cache data would be merged with memtables upon read you could merge/write back cache data upon memtable flush which avoids synchronization headaches and might be more efficient (we did something similar in CASSANDRA-2864) > 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