Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 71A9E964F for ; Mon, 19 Sep 2011 09:48:31 +0000 (UTC) Received: (qmail 67351 invoked by uid 500); 19 Sep 2011 09:48:30 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 67296 invoked by uid 500); 19 Sep 2011 09:48:30 -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 67287 invoked by uid 99); 19 Sep 2011 09:48:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Sep 2011 09:48:30 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,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; Mon, 19 Sep 2011 09:48:29 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 8C035A17F0 for ; Mon, 19 Sep 2011 09:48:09 +0000 (UTC) Date: Mon, 19 Sep 2011 09:48:09 +0000 (UTC) From: "Filipe Manana (JIRA)" To: dev@couchdb.apache.org Message-ID: <1885000146.41571.1316425689570.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1960959338.40995.1316403668911.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (COUCHDB-1288) More efficient builtin filters _doc_ids and _design MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/COUCHDB-1288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Filipe Manana updated COUCHDB-1288: ----------------------------------- Attachment: couchdb_1288_3.patch Added patch with test case, including the case for continuous changes. > More efficient builtin filters _doc_ids and _design > --------------------------------------------------- > > Key: COUCHDB-1288 > URL: https://issues.apache.org/jira/browse/COUCHDB-1288 > Project: CouchDB > Issue Type: Improvement > Reporter: Filipe Manana > Attachments: couchdb_1288_2.patch, couchdb_1288_3.patch > > > We have the _doc_ids and _design _changes filter as of CouchDB 1.1.0. > While they meet the expectations of applications/users, they're far from efficient for large databases. > Basically the implementation folds the entire seq btree and then filters values by the document's ID, causing too much IO and busting caches. This makes replication by doc IDs not so efficient as it could be. > The proposed patch avoids this by doing direct lookups in the ID btree, for _doc_ids, and ranged fold for _design. > If there are no objections, I would apply to branch 1.2.x besides -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira