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 0C62D53A6 for ; Thu, 12 May 2011 10:35:33 +0000 (UTC) Received: (qmail 86279 invoked by uid 500); 12 May 2011 10:35:32 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 86261 invoked by uid 500); 12 May 2011 10:35:32 -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 86253 invoked by uid 99); 12 May 2011 10:35:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 12 May 2011 10:35:32 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_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, 12 May 2011 10:35:27 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 63A4D82EF0 for ; Thu, 12 May 2011 10:34:47 +0000 (UTC) Date: Thu, 12 May 2011 10:34:47 +0000 (UTC) From: "Sylvain Lebresne (JIRA)" To: commits@cassandra.apache.org Message-ID: <167033367.6428.1305196487404.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <793994711.5936.1305175667284.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (CASSANDRA-2641) AbstractBounds.normalize should deal with overlapping ranges 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-2641?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032346#comment-13032346 ] Sylvain Lebresne commented on CASSANDRA-2641: --------------------------------------------- bq. If getPositionsForRanges generates overlapping ranges in the file, then the data that is streamed will be out of order and invalid (not to mention the fact that we wouldn't be doing sequential access). Thankfully, we only seem to have accidentally used overlapping ranges in tests. Yes, you're right. Anyway we never generate overlapping ranges, so I'm pretty sure it hasn't bitten anyone for good reason. Nevertheless, I do agree that it is worth protecting ourselves. I still have a preference for making normalize() merge intersecting ranges (it makes sense a "normalize" function would do that and it's fairly trivial). > AbstractBounds.normalize should deal with overlapping ranges > ------------------------------------------------------------ > > Key: CASSANDRA-2641 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2641 > Project: Cassandra > Issue Type: Test > Components: Core > Reporter: Stu Hood > Assignee: Stu Hood > Priority: Minor > Fix For: 1.0 > > > Apparently no consumers have encountered it in production, but AbstractBounds.normalize does not handle overlapping ranges. If given overlapping ranges, the output will be sorted but still overlapping, for which SSTableReader.getPositionsForRanges will choose ranges in an SSTable that may overlap. > We should either add an assert in normalize(), or in getPositionsForRanges() to ensure that this never bites us in production. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira