[ 
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

        

Reply via email to