Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 51400 invoked from network); 9 Mar 2011 04:46:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Mar 2011 04:46:25 -0000 Received: (qmail 76328 invoked by uid 500); 9 Mar 2011 04:46:24 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 76266 invoked by uid 500); 9 Mar 2011 04:46:24 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 76253 invoked by uid 99); 9 Mar 2011 04:46:23 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Mar 2011 04:46:23 +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; Wed, 09 Mar 2011 04:46:21 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 7F8A33A0422 for ; Wed, 9 Mar 2011 04:45:59 +0000 (UTC) Date: Wed, 9 Mar 2011 04:45:59 +0000 (UTC) From: "Jan Lehnardt (JIRA)" To: dev@couchdb.apache.org Message-ID: <330192825.7065.1299645959519.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <823419600.3437.1299550079623.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] Commented: (COUCHDB-1084) Remove unnecessary btree lookup inside couch_db_updater 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/COUCHDB-1084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004366#comment-13004366 ] Jan Lehnardt commented on COUCHDB-1084: --------------------------------------- Definitely more testing :) Randal, if you are comparing numbers from my tests note that the first was 300s the other 200s (IIRC). I think though your description is apt, Damien says on SSDs fsyncs are faster and cheaper, so we see the benefits of the patch earlier. On spinning media, the waiting-for-fsync trumps most of the time so the improvements in the now relatively smaller btree update code path are not as significant (for the small data set until we actually save seeks in the large data set) > Remove unnecessary btree lookup inside couch_db_updater > ------------------------------------------------------- > > Key: COUCHDB-1084 > URL: https://issues.apache.org/jira/browse/COUCHDB-1084 > Project: CouchDB > Issue Type: Improvement > Components: Database Core > Affects Versions: 1.2 > Reporter: Damien Katz > Assignee: Damien Katz > Attachments: remove_btree_lookup.patch > > > The CouchDB update process has an unnecessary btree lookup, where it reads the values in bulks, checks for conflicts, writes the docs to disk, updates the values appropriately and writes them to the btree out in a second step. It's possible to avoid this second step, and instead do all the checking, doc writing and value transformation in a single btree lookup, thereby reducing the number of btree traversals and disk IO. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira