Return-Path: Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: (qmail 80884 invoked from network); 6 May 2010 16:18:22 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 6 May 2010 16:18:22 -0000 Received: (qmail 25616 invoked by uid 500); 6 May 2010 16:18:21 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 25583 invoked by uid 500); 6 May 2010 16:18:21 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 25562 invoked by uid 99); 6 May 2010 16:18:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 May 2010 16:18:21 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of spidaman.list@gmail.com designates 209.85.212.44 as permitted sender) Received: from [209.85.212.44] (HELO mail-vw0-f44.google.com) (209.85.212.44) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 May 2010 16:18:14 +0000 Received: by vws9 with SMTP id 9so125403vws.31 for ; Thu, 06 May 2010 09:17:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=OC50dPQLIqj6axM6b5sxZtxymnm72nWLOrdd5ObmhXs=; b=CEYwFTBqzM/GX6ZcHuM6XMV0J6WrTv4nd9SC1Gx+jK6lIe94EdMhK3wypXrRhUQJoD DbEOOcWXES6zmOB44whIMHKfYF+H0Y1mbSkvD/JOvN8BXs46JHoJvwgkCsNJ9VsC5Z3/ 32s21WVDaH3wetsM+3KD55xELyr4eKjKWBrc4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=eHFrkPVaoidvZS2Y6yGlTg4Kr+h46dBdYjUqXv6iZKXNS8kF5D9rSFASxwhokL9r8I h+kN/qMGKa5nKBh2QRYzC0iBfK0nd2WMXFf+yVOH9esAYTsnjGsvcl4GLrfXgb9cjq0l r8r4VUD72LqVZREof3KmjkEBFd21RM1E0NzWA= MIME-Version: 1.0 Received: by 10.229.238.70 with SMTP id kr6mr5476317qcb.49.1273162673544; Thu, 06 May 2010 09:17:53 -0700 (PDT) Received: by 10.229.234.74 with HTTP; Thu, 6 May 2010 09:17:53 -0700 (PDT) Date: Thu, 6 May 2010 09:17:53 -0700 Message-ID: Subject: pagination through slices with deleted keys From: Ian Kallen To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=001485f85e40e5e29f0485ef4851 --001485f85e40e5e29f0485ef4851 Content-Type: text/plain; charset=ISO-8859-1 I read the DistributedDeletes and the range_ghosts FAQ entry on the wiki which do a good job describing how difficult deletion is in an eventually consistent system. But practical application strategies for dealing with it aren't there (that I saw). I'm wondering how folks implement pagination in their applications; if you want to render N results in an application, is the only solution to over-fetch and filter out the tombstones? Or is there something simpler that I overlooked? I'd like to be able to count (even if the counts are approximate) and fetch rows with the deleted ones filtered out (without waiting for the GCGraceSeconds interval + compaction) but from what I see so far, the burden is on the app to deal with the tombstones. -Ian --001485f85e40e5e29f0485ef4851 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I read the DistributedDeletes and the range_ghosts FAQ entry on the wiki wh= ich do a good job describing how difficult deletion is in an eventually con= sistent system. But practical application strategies for dealing with it ar= en't there (that I saw). I'm wondering how folks implement paginati= on in their applications; if you want to render N results in an application= , is the only solution to over-fetch and filter out the tombstones? Or is t= here something simpler that I overlooked? I'd like to be able to count = (even if the counts are approximate) and fetch rows with the deleted ones f= iltered out (without waiting for the GCGraceSeconds interval + compaction) = but from what I see so far, the burden is on the app to deal with the tombs= tones.
-Ian
--001485f85e40e5e29f0485ef4851--