Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 28903 invoked from network); 2 Oct 2010 07:15:02 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Oct 2010 07:15:02 -0000 Received: (qmail 53642 invoked by uid 500); 2 Oct 2010 07:15:02 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 53489 invoked by uid 500); 2 Oct 2010 07:14:59 -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 53474 invoked by uid 99); 2 Oct 2010 07:14:57 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Oct 2010 07:14:57 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Oct 2010 07:14:55 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o927EXd5006760 for ; Sat, 2 Oct 2010 07:14:33 GMT Message-ID: <2510494.510631286003673213.JavaMail.jira@thor> Date: Sat, 2 Oct 2010 03:14:33 -0400 (EDT) From: "Stu Hood (JIRA)" To: commits@cassandra.apache.org Subject: [jira] Updated: (CASSANDRA-1442) Get Range Slices is broken In-Reply-To: <5978952.60851283113193818.JavaMail.jira@thor> 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-1442?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stu Hood updated CASSANDRA-1442: -------------------------------- Attachment: 0001-Add-tests-for-StorageProxy.getRestrictedRanges.patch 0002-Allow-ringIterator-to-include-the-minimum-token-and-.patch 0003-Split-the-queryRange-by-ring-and-minimum-tokens.patch > Get Range Slices is broken > -------------------------- > > Key: CASSANDRA-1442 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1442 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.6.5 > Environment: Linux - CentOs > Reporter: Moleza Moleza > Priority: Critical > Fix For: 0.6.7, 0.7.0 > > Attachments: 0001-Add-tests-for-StorageProxy.getRestrictedRanges.patch, 0002-Allow-ringIterator-to-include-the-minimum-token-and-.patch, 0003-Split-the-queryRange-by-ring-and-minimum-tokens.patch > > > HI, > We just recently tried to use 0.6.4 and 0.6.5 in our production environment and > had some serious problem. > The getRangeSlices functionality is broken. > We have a cluster of 5 machines. > We use getRangeSlices to iterate over all of the keys in a cf (2062 keys total). > We are using OrderPreservingPartitioner. > We use getRangeSlices with KeyRange using keys (not tokens). > If we set the requestBlockCount (aka: KeyRange.setCount()) to a number > greater than 2062 we get all keys in one shot (all is good). > If we try to fetch the keys in smaller blocks (requestBlockCount=100) > we get BAD RESULTS. > We get only 800 unique keys back. > We start with (startKey="" and endKey="") then, after each iteration, we use the lastKey to set the startKey for the next page. > Except on first page, we always skip the first item of the page (knowing that it is a repeat, the last one, of the prior page). > To get the lastKey we tried two strategies: [1] set the lastKey to the last item in the page, and [2] use String.compareTo to get the largest ley. Neither strategy worked. > Our keys are strings (obviously the only option in 0.6) that represent numbers. > Some Sample keys are: (in correct lexi order) > -1 > 11113 > 11457 > 6831 > 7035 > 8060 > 8839 > ------ > This code (without any changes) was working correctly under 0.6.3 (we > got same response from getRangeSlices if using requestBlockCounts of > 10,000 or 100). > We tried it under 0.6.4 and 0.6.5 and it stopped working. > We reverted back to 0.6.3 and (again, without changing the code) it > started working again. > ------ > I tried inserting all the keys into a test cluster of one (1 machine) and it worked fine. > So this must be related to how the page is build in a cluster of more than 1 nodes. > We have a cluster of 5 nodes with replication factor of 3. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.