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 8B137C3B4 for ; Tue, 5 Jun 2012 08:33:26 +0000 (UTC) Received: (qmail 64726 invoked by uid 500); 5 Jun 2012 08:33:26 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 64656 invoked by uid 500); 5 Jun 2012 08:33:25 -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 64616 invoked by uid 99); 5 Jun 2012 08:33:24 -0000 Received: from issues-vm.apache.org (HELO issues-vm) (140.211.11.160) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Jun 2012 08:33:24 +0000 Received: from isssues-vm.apache.org (localhost [127.0.0.1]) by issues-vm (Postfix) with ESMTP id 0A8A3142862 for ; Tue, 5 Jun 2012 08:33:24 +0000 (UTC) Date: Tue, 5 Jun 2012 08:33:24 +0000 (UTC) From: "Sylvain Lebresne (JIRA)" To: commits@cassandra.apache.org Message-ID: <1587773854.38598.1338885204047.JavaMail.jiratomcat@issues-vm> In-Reply-To: <1409731289.23156.1328851199455.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (CASSANDRA-3885) Support multiple ranges in SliceQueryFilter MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-3885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289243#comment-13289243 ] Sylvain Lebresne commented on CASSANDRA-3885: --------------------------------------------- bq. simply storing anyway it in the case it is needed. Yeah but we kind of do that in the current code already with the queue {{blockColumns}}. {{blockColumns}} is a cache of sorts and that's why I think we shouldn't add a second one. Much like we currently do, during deserialization we can simply check if it's worth deserializing the next column of the block (which should only mean comparing each column once, against the "biggest" range intersecting the index block). Then, in computeNext(), when polling the column from {{blockColumns}} we can validate if the column is really needed (again, since we know the order in which we poll the column, this should only require comparison to one of the range). This should be roughly equivalent to the cache of your patch, but it avoids having both {{blockColumns}} and the cache. > Support multiple ranges in SliceQueryFilter > ------------------------------------------- > > Key: CASSANDRA-3885 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3885 > Project: Cassandra > Issue Type: Sub-task > Components: Core > Reporter: Jonathan Ellis > Assignee: David Alves > Fix For: 1.2 > > Attachments: CASSANDRA-3885.patch, CASSANDRA-3885.patch, CASSANDRA-3885.patch > > > This is logically a subtask of CASSANDRA-2710, but Jira doesn't allow sub-sub-tasks. > We need to support multiple ranges in a SliceQueryFilter, and we want querying them to be efficient, i.e., one pass through the row to get all of the ranges, rather than one pass per range. > Supercolumns are irrelevant since the goal is to replace them anyway. Ignore supercolumn-related code or rip it out, whichever is easier. > This is ONLY dealing with the storage engine part, not the StorageProxy and Command intra-node messages or the Thrift or CQL client APIs. Thus, a unit test should be added to ColumnFamilyStoreTest to demonstrate that it works. -- 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