From dev-return-18132-apmail-couchdb-dev-archive=couchdb.apache.org@couchdb.apache.org Fri Sep 16 01:28:33 2011 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 7F2538C13 for ; Fri, 16 Sep 2011 01:28:33 +0000 (UTC) Received: (qmail 34102 invoked by uid 500); 16 Sep 2011 01:28:33 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 33938 invoked by uid 500); 16 Sep 2011 01:28:32 -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 33930 invoked by uid 99); 16 Sep 2011 01:28:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Sep 2011 01:28:32 +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; Fri, 16 Sep 2011 01:28:30 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 4575B9B1D2 for ; Fri, 16 Sep 2011 01:28:09 +0000 (UTC) Date: Fri, 16 Sep 2011 01:28:09 +0000 (UTC) From: "Filipe Manana (JIRA)" To: dev@couchdb.apache.org Message-ID: <1682468187.33318.1316136489281.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <2040071335.15286.1315094596986.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (COUCHDB-1270) Rewrite the view engine 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-1270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105805#comment-13105805 ] Filipe Manana commented on COUCHDB-1270: ---------------------------------------- Paul, I have a few questions/remarks, all are minor things that I didn't notice before and I don't consider them blockers of any kind. 1) There was an _all_docs with ?include_docs=true optimization which avoided doing a lookups in the id btree to get the documents. This seems to be gone (COUCHDB-1061). I can help here; 2) There's no information dumped to the log file when the updater starts, stops or checkpoints. At least when it starts and stops, I find it useful to have it in the log. Dunno if this was intentional or not; 3) When the view group is shutdown, because the associated database was closed, there's no information logged anymore. I find the logging useful for this scenario, for example to diagnose COUCHDB-1283; 4) For the view index file, we used to have a ref counter for each. I don't see anything equivalent now. What happens when a client is folding a view and before it finishes folding it, the view is compacted, the file switch happens and the original file is deleted? Once again, great work on this refactoring. > Rewrite the view engine > ----------------------- > > Key: COUCHDB-1270 > URL: https://issues.apache.org/jira/browse/COUCHDB-1270 > Project: CouchDB > Issue Type: Improvement > Components: JavaScript View Server > Reporter: Paul Joseph Davis > Attachments: 0001-Minor-changes-for-new-indexing-engine.patch, 0002-Create-the-couch_index-application.patch, 0003-Create-the-couch_mrview-application.patch, 0004-Remove-the-old-view-engine.patch > > > The view engine has been creaky and cluttered. As shown by GeoCouch, adding new indexers basically involves copying the entire view engine and hacking the parts that are different. In short, the opposite of good engineering. > Over the last couple weeks I've refactored the view engine and reimplemented the map/reduce view engine. These changes are 100% internal and no external behavior has changed. Performance is just a tiny bit better than trunk. I did do some playing trying to improve view update times and there are some dances we could do, but for the time being I wanted to keep the same general architecture for updates so that the changes are minimal. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira