Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7384F9745 for ; Thu, 5 Jan 2012 02:31:27 +0000 (UTC) Received: (qmail 25913 invoked by uid 500); 5 Jan 2012 02:31:27 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 25877 invoked by uid 500); 5 Jan 2012 02:31:27 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 25869 invoked by uid 99); 5 Jan 2012 02:31:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jan 2012 02:31:27 +0000 X-ASF-Spam-Status: No, hits=-2001.6 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jan 2012 02:31:24 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id C7AC713981B for ; Thu, 5 Jan 2012 02:30:39 +0000 (UTC) Date: Thu, 5 Jan 2012 02:30:39 +0000 (UTC) From: "Jonathan Ellis (Commented) (JIRA)" To: commits@cassandra.apache.org Message-ID: <277235069.7868.1325730639819.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <2879354.236591294559325212.JavaMail.jira@thor> Subject: [jira] [Commented] (CASSANDRA-1956) Convert row cache to row+filter cache MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CASSANDRA-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13180133#comment-13180133 ] Jonathan Ellis commented on CASSANDRA-1956: ------------------------------------------- bq. I thought that there are some common cases like tail and head caching or exclusion of columns that could be implemented. Right. That's what we want to get out of this -- well, the tail/head part, since query cache can only cache what you do ask for, but it can't exclude what you don't. (Although if you never query the excluded column... close enough, right?) bq. So to prevent a rude awakening for some users it might be cool to provide some means (config or whatever) that works similar as the current version. Good point. Damn it. :) > 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