Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1CD8BD9FF for ; Mon, 19 Nov 2012 22:13:22 +0000 (UTC) Received: (qmail 76464 invoked by uid 500); 19 Nov 2012 22:13:19 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 76411 invoked by uid 500); 19 Nov 2012 22:13:19 -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 76403 invoked by uid 99); 19 Nov 2012 22:13:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Nov 2012 22:13:19 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.223.172] (HELO mail-ie0-f172.google.com) (209.85.223.172) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Nov 2012 22:13:14 +0000 Received: by mail-ie0-f172.google.com with SMTP id c13so144676ieb.31 for ; Mon, 19 Nov 2012 14:12:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:x-gm-message-state; bh=Ivl8Rs2chgwst4kNspNtt2oVAD599bYVCgGfgsV3eJc=; b=oN69PUMsgjw2JuFkJRUXzACtbCdy6BfgE/Poyz6QMi6YCWmL4Mq+6P/DqC54Emn0zH 63SQt37sjTVsODkCpB5qGp3tsB5Y2lUgNiiyiFXebK8r9/lrNz/qaisNCkuLKndvUc7K hZXpeaBiqmVdwPjQLUMp25fXC9750Xgl9Xb64OFdnEb5AGKsED+uZs8ER1nR3UR68Xph A10nhlJEs1fEeFbPu3EZZxG2ePUAKNXQCtV0Tp6uFBjlUnNpjAg7GaxffpeHQX8W5wAV 889aUgWt4YKwgtt5t93gmp+2SB/QPNRhmljFBpkpYIwySr+N7HGFLR+Ar0xCrslpmWHg /otQ== MIME-Version: 1.0 Received: by 10.50.33.194 with SMTP id t2mr8066725igi.69.1353363173693; Mon, 19 Nov 2012 14:12:53 -0800 (PST) Received: by 10.50.96.161 with HTTP; Mon, 19 Nov 2012 14:12:53 -0800 (PST) In-Reply-To: References: Date: Mon, 19 Nov 2012 14:12:53 -0800 Message-ID: Subject: Re: row cache re-fill very slow From: Rob Coli To: user@cassandra.apache.org Content-Type: multipart/alternative; boundary=f46d044630403857dc04cee06bb9 X-Gm-Message-State: ALoCoQk20jh4745ABCbh2WdTl2RWKGmelrAoFcn+4g4cY//Wgsbk7f9xi66fcfq8PbY15vSJ+zwd X-Virus-Checked: Checked by ClamAV on apache.org --f46d044630403857dc04cee06bb9 Content-Type: text/plain; charset=ISO-8859-1 On Mon, Nov 19, 2012 at 6:17 AM, Andras Szerdahelyi < andras.szerdahelyi@ignitionone.com> wrote: > How is the "saved row cache file" processed? Are the cached row keys > simply iterated over and their respective rows read from SSTables - > possibly creating random reads with small enough sstable files, if the keys > were not stored in a manner optimised for a quick re-fill ? - or is there > a smarter algorithm ( i.e. scan through one sstable at a time, filter rows > that should be in row cache ) at work and this operation is purely disk > i/o bound ? > Nope, that's it. I am quite confident that in the version you are running, it just assembles the row from disk, from the relevant SSTables, via the more or less normal read path. The more fragmented your sstables, the more random the i/o. These two 1.2.x era JIRA relate to the row cache startup penalty : https://issues.apache.org/jira/browse/CASSANDRA-4282 # multi-threaded row cache loading at startup https://issues.apache.org/jira/browse/CASSANDRA-3762 # improvements to the AutoSavingCache (which is the base class of AutoSavingRowCache) =Rob -- =Robert Coli AIM>ALK - rcoli@palominodb.com YAHOO - rcoli.palominob SKYPE - rcoli_palominodb --f46d044630403857dc04cee06bb9 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Mon, Nov 19, 2012 at 6:17 AM, Andras Szerdahelyi <<= a href=3D"mailto:andras.szerdahelyi@ignitionone.com" target=3D"_blank">andr= as.szerdahelyi@ignitionone.com> wrote:
How is the "saved row cache file&q= uot; processed? Are the cached row keys simply iterated over and their resp= ective rows read from SSTables - possibly creating random reads with small = enough sstable files, if the keys were not stored in a manner optimised for a quick re-fill ? - =A0or is there a smarter algorithm ( i.e. scan through= one sstable at a time, filter rows that should be in row cache ) =A0at wor= k and this operation is purely disk i/o bound ?

Nope, that's it. I am quite confident that in the versio= n you are running, it just assembles the row from disk, from the relevant S= STables, via the more or less normal read path. The more fragmented your ss= tables, the more random the i/o.

These two 1.2.x era JIRA relate to the row cache startu= p penalty :

https://issues.apache.org/jira/browse/CASSANDRA-= 4282 # multi-threaded row cache loading at startup
https= ://issues.apache.org/jira/browse/CASSANDRA-3762 # improvements to the A= utoSavingCache (which is the base class of AutoSavingRowCache)

=3DRob

--
=3DRobert Coli
YAHOO - rcoli.palominob
SKYPE - rcoli_palominodb
--f46d044630403857dc04cee06bb9--