[
https://issues.apache.org/jira/browse/COUCHDB-1270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13096972#comment-13096972
]
Filipe Manana commented on COUCHDB-1270:
----------------------------------------
Great work here Paul, it's really nice.
I haven't done a very detailed analysis, but so far, 2 minor details:
1) In couch_index_compactor (patch 2), the pid in state is assigned the default
value of 'nil', but everywhere else in the module, you match against/use
'undefined'. It would be better to use the same everywhere, or an is_pid(Pid)
call;
2) When a view compaction is canceled, the partially compacted file is not
deleted (unlike trunk's current behaviour). Since we don't support resuming of
view compaction, it's useless to leave it there and be deleted only on the next
compaction request. Plus, leaving it there, it can prevent other compactions
from succeeding due to not enough free disk space
> 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