summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_view_updater.erl
AgeCommit message (Collapse)Author
2011-09-15Make sure view compaction terminatesFilipe David Borba Manana
If a view group is compacting and the corresponding database is shutdown by the LRU system, then the view compaction is aborted because its couch view group process shutdowns. This could lead to situations where the number of active databases is much higher than max_dbs_open and making it impossible to compact view groups. Issue reported and patch tested by Mike Leddy. Thanks. COUCHDB-1283 This is a backport of revision 1171328 from branch 1.2.x git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1171329 13f79535-47bb-0310-9956-ffa450edef68
2011-06-23Merged revision 1138796 from trunkFilipe David Borba Manana
Simpler and safer db open/closing in view group servers This makes the opening and closing of databases in the view group server to be more friendly with the db reference counting system, avoiding more potential db file leaking after compaction, as we currently open a database in one process and use it on another process (view compactor, view updater). This significantly reduces the chances of failure when compacting very large views as discussed in COUCHDB-994. This relates to COUCHDB-926 and COUCHDB-994. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1138798 13f79535-47bb-0310-9956-ffa450edef68
2010-10-10Fixes COUCHDB-799 - More granular ETags for views.Paul Joseph Davis
ETags for views now only change when their underlying view index changes due to indexing or purges. ETags are also specific to each view. Thanks to Klaus Trainer for the patch. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1006339 13f79535-47bb-0310-9956-ffa450edef68
2010-09-30Removing ?getv macros.Filipe David Borba Manana
With OTP releases up to R13B03 it's not possible to define a 2 macro functions with the same name and different arities. (Only allowed in R13B04 and R14). git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1003025 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27CommonJS support in map functionsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001895 13f79535-47bb-0310-9956-ffa450edef68
2010-09-27Replacing calls to couch_util:get_value with ?getvFilipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1001879 13f79535-47bb-0310-9956-ffa450edef68
2010-08-21Small refactoring of the work queue module to accomodate for incoming ↵Filipe David Borba Manana
options (multiple workers) git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@987824 13f79535-47bb-0310-9956-ffa450edef68
2010-05-04use keysearch BIF to search ejson props. Closes COUCHDB-747Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@940708 13f79535-47bb-0310-9956-ffa450edef68
2009-11-21code improvements from tidier. Patch by Kostis Sagonas. COUCHDB-570Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@882903 13f79535-47bb-0310-9956-ffa450edef68
2009-11-16Fix a couple typos in the source.Paul Joseph Davis
paramter -> parameter InitalBuild -> InitialBuild Thanks David Coallier and Glenn Rempe for pointing them out. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@880951 13f79535-47bb-0310-9956-ffa450edef68
2009-10-13Fix partial view updating regression.Paul Joseph Davis
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@824968 13f79535-47bb-0310-9956-ffa450edef68
2009-09-11Refactoring of endkey code in views and btrees. End key functionaility is ↵Damien F. Katz
now handled inside the btree code, simplfying calling code and making it trivial to add new collation options git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@814078 13f79535-47bb-0310-9956-ffa450edef68
2009-09-02Added 3 stage pipeline for indexing views: loader, mapper, writer. This ↵Damien F. Katz
results in better performance and resource utilization. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@810345 13f79535-47bb-0310-9956-ffa450edef68
2009-07-22various bugfixes and improvements for view compactionAdam Kocoloski
View compaction was broken after the switch to signature-based index files, but we don't have tests for it yet so we didn't notice. I also committed a few changes that should make compaction faster and more robust: * commit the header immediately after compaction finishes. We used to wait 1 seconds, but if the server restarted in that second the index would be reset. * unlink from old index file at the end. Prevents process crashes that could couch_view (and with the delayed commit would sometimes cause index resets). * don't wait for running view updates to finish before replacing old view index file. If an update is running, restart it and point it to the new view group. This alleviates the situation where the view compaction goes into a busy wait, printing "still behind main file" 1000s of times to the log, and generally makes compaction finish more quickly. * better logging git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@796805 13f79535-47bb-0310-9956-ffa450edef68
2009-07-16checkpoint long-running view updatesAdam Kocoloski
Improves stale=ok view queries, which will now see gradually updating indexes. Also reduces the consequences of an updater crash because we can restart from the latest checkpoint. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794843 13f79535-47bb-0310-9956-ffa450edef68
2009-07-14wheeeeeeeeNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@794057 13f79535-47bb-0310-9956-ffa450edef68
2009-07-06trimmed trailing whitespaceNoah Slater
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791350 13f79535-47bb-0310-9956-ffa450edef68
2009-07-04Name view index files by their function hashes for no downtime deploys. ↵John Christopher Anderson
Closes COUCHDB-218 Adds ability to switch view indexes on the fly by building the index from a "staging" design doc, and then COPYing the staging doc to the production doc's id. Since indexes are referenced by view definition, the new version of the production design doc will point immediately to the index files already built in staging. Please use and give feedback. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791140 13f79535-47bb-0310-9956-ffa450edef68
2009-07-04last three dialyzer recommended cleanupsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@791136 13f79535-47bb-0310-9956-ffa450edef68
2009-05-23remove leftover trace loggingJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@777975 13f79535-47bb-0310-9956-ffa450edef68
2009-05-23added an design doc option so that doc._local_seq can be available in the ↵John Christopher Anderson
map view. Closes COUCHDB-346 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@777757 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06First cut at _changes api. Update the by_id and by_seq indexes to contain ↵Damien F. Katz
update seq numbers and pointers to bodies on disk, for use in the _changes api. This is a new file version, but the code can continue to serve the old 0.9 version without problems, though certain features in the _changes api will not be able to work. Upgrade to new file version (from 1 to 2) by compacting the file. Also fixed bugs with how the stats api tracks open databases. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@772406 13f79535-47bb-0310-9956-ffa450edef68
2009-02-01Added options member to design docs. Currently the only option is ↵John Christopher Anderson
include_designs (views can now run over design docs as well if they need to), the default is false, which is the current behavior. Thanks davisp for the original patch. Closes COUCHDB-156 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@739866 13f79535-47bb-0310-9956-ffa450edef68
2009-01-23Added task status checking, to help debug the progress of long running ↵Damien F. Katz
tasks, like view indexing and compaction. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@736906 13f79535-47bb-0310-9956-ffa450edef68
2009-01-05Fixed views to not commit index headers if they are ahead of what has been ↵Damien F. Katz
fully committed to the database. Also, the index headers are now committed async, improving response times updating views. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@731618 13f79535-47bb-0310-9956-ffa450edef68
2008-12-12modifications to view server to keep the file descriptor open for the life ↵Damien F. Katz
of the view group. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@725909 13f79535-47bb-0310-9956-ffa450edef68
2008-12-11removed a particularly verbose LOG_DEBUG statementJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@725741 13f79535-47bb-0310-9956-ffa450edef68
2008-12-10view group state gen_server. thanks damien and davisp.John Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@724946 13f79535-47bb-0310-9956-ffa450edef68