summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_db_updater.erl
AgeCommit message (Collapse)Author
2011-07-28revert redundant pattern match.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1151976 13f79535-47bb-0310-9956-ffa450edef68
2011-07-25assert that calls to file functions actually succeed.Robert Newson
1) couch_file:sync could leave open fd's if close failed. Now we'll get a trace. 2) couch_file:append_term failing would be bad, so let's test that too. backported from trunk r1150915 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1150918 13f79535-47bb-0310-9956-ffa450edef68
2011-03-28Fix function signature mismatch. Allow purging of single revisions in a ↵Jan Lehnardt
conflicted document. Closes COUCHDB-1065 Patch by Randall Leeds, verified by Robert Dionne. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1086240 13f79535-47bb-0310-9956-ffa450edef68
2011-01-17Merged revision 1059893 from trunkFilipe David Borba Manana
More efficient implementation of the DB updater BTree functions Closes COUCHDB-1027 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1059894 13f79535-47bb-0310-9956-ffa450edef68
2011-01-17Merged revision 1053731 from trunkFilipe David Borba Manana
Two cleanups in couch_db_updater It also seems to add a little performance gain: http://graphs.mikeal.couchone.com/#/graph/8bf31813eef7c0b7e37d1ea259020a0 Closes COUCHDB-1000 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1059892 13f79535-47bb-0310-9956-ffa450edef68
2011-01-12Preserve purge metadata during compaction, thanks Mike LeddyAdam Kocoloski
Closes COUCHDB-1021 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1057987 13f79535-47bb-0310-9956-ffa450edef68
2010-12-29Stem revision trees after merging a path, COUCHDB-968Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1053513 13f79535-47bb-0310-9956-ffa450edef68
2010-12-14Fix OOME when compacting doc w/ lots of conflicts, COUCHDB-888Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1049250 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08Fix compactor crash when .compact file is missing headerAdam Kocoloski
Users affected by COUCHDB-968 can take advantage of this patch to force a compaction in retry mode and thus remove the duplicates. Simply create an empty dbname.couch.compact file in the database_dir before triggering the compaction for dbname. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043542 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08Change key_tree merge to take path as 2nd arg, add type specsAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043462 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08Usort the infos during compaction to remove dupes, COUCHDB-968Adam Kocoloski
This is not a bulletproof solution; it only removes dupes when the they appear in the same batch of 1000 updates. However, for dupes that show up in _all_docs the probability of that happening is quite high. If the dupes are only in _changes a user may need to compact twice, once to get the dupes ordered together and a second time to remove them. A more complete solution would be to trigger the compaction in "retry" mode, but this is siginificantly slower. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043461 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08Stem new rev tree before comparing with old one, COUCHDB-968Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043459 13f79535-47bb-0310-9956-ffa450edef68
2010-11-18Make sure that after a database compaction the old database reference ↵Filipe David Borba Manana
counters don't get unreleased forever. Closes COUCHDB-926. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036294 13f79535-47bb-0310-9956-ffa450edef68
2010-11-10COUCHDB-945 - ensure validation funs are still applied after compaction.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1033640 13f79535-47bb-0310-9956-ffa450edef68
2010-10-12Avoid gen_server call timeout error after compacting a database (seems to ↵Filipe David Borba Manana
happen only for large DBs, but not always). git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1021811 13f79535-47bb-0310-9956-ffa450edef68
2010-08-08fixes COUCHDB-844, delayed commits gets b0rkedAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@983331 13f79535-47bb-0310-9956-ffa450edef68
2010-07-08Fix for occasional failed tests caused by responding with 202 success to ↵Damien F. Katz
compaction requests before the compaction actually begins. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@961791 13f79535-47bb-0310-9956-ffa450edef68
2010-07-03Fix deletion to move properly to root of storage, to avoid copying files ↵Damien F. Katz
when view and database dirs are on different mounts. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@960153 13f79535-47bb-0310-9956-ffa450edef68
2010-07-01prevent zero byte files, closes COUCHDB-647John Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@959791 13f79535-47bb-0310-9956-ffa450edef68
2010-06-23Authentication caching, to avoid repeated opening and closing of the users ↵Damien F. Katz
database for each request requiring authentication. COUCHDB-807 git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@957314 13f79535-47bb-0310-9956-ffa450edef68
2010-06-23Make file deletions async to avoid pauses during compaction and db deletion. ↵Damien F. Katz
Fixes COUCHDB-780. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@957303 13f79535-47bb-0310-9956-ffa450edef68
2010-06-12more efficient header commits. COUCHDB-767Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@954044 13f79535-47bb-0310-9956-ffa450edef68
2010-06-12remove unnuecessary receive loop in commit_data. COUCHDB-794Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@954043 13f79535-47bb-0310-9956-ffa450edef68
2010-06-08preserve _revs_limit after compaction. COUCHDB-789Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@952732 13f79535-47bb-0310-9956-ffa450edef68
2010-06-02trailing whitespace pedantryJan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@950545 13f79535-47bb-0310-9956-ffa450edef68
2010-04-28Fix to make dbclose synchronous, to prevent unnecessary slowdown caused by ↵Damien F. Katz
many already completed client requests having a single db open, and the vm waiting a long time to asynchronously process the close messages. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@939009 13f79535-47bb-0310-9956-ffa450edef68
2010-04-22compaction preserves instance_start_time. Closes COUCHDB-744Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@936996 13f79535-47bb-0310-9956-ffa450edef68
2010-04-15refactor att compression to allow more encodings. thanks fdmanana. COUCHDB-710Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@934475 13f79535-47bb-0310-9956-ffa450edef68
2010-04-02Deterministic/synchronous shutdown code.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@930363 13f79535-47bb-0310-9956-ffa450edef68
2010-03-04reverting damien's latest commit until we can figure out why it's causing ↵John Christopher Anderson
failures git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918834 13f79535-47bb-0310-9956-ffa450edef68
2010-03-04Changed process tree shutdown to be synchronous, to eliminate spurious test ↵Damien F. Katz
failures caused by processes not shutdown fast enough or at the wrong time. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@918805 13f79535-47bb-0310-9956-ffa450edef68
2010-02-22_purge was incorrectly returning update_seq.Paul Joseph Davis
Patched and tested. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@912606 13f79535-47bb-0310-9956-ffa450edef68
2010-02-01Database-level security.John Christopher Anderson
This patch builds on the DB-admins feature to store lists of database admin and reader names and roles, as well as a security object which can be used for configuration in validation functions. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@905436 13f79535-47bb-0310-9956-ffa450edef68
2010-01-29Allow storing attachments in compressed form. Closes COUCHDB-583. Thanks ↵John Christopher Anderson
Filipe Manana git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@904650 13f79535-47bb-0310-9956-ffa450edef68
2009-11-30Fix two issues for databases upgraded from 0.9.x:Jan Lehnardt
- Compaction would fail. - GET /db/doc?attachments=true would generate a 500. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@885542 13f79535-47bb-0310-9956-ffa450edef68
2009-11-26Refactored the fix for active_dbs timeouts.Paul Joseph Davis
I was getting a bit of weirdness with the old test version so I updated to be more straight forward in its testing. I've also updated the patch to couch_db_updater.erl to only to the db_updated call when a delayed commit changes the db because it was interacting badly with compaction. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@884369 13f79535-47bb-0310-9956-ffa450edef68
2009-11-26Update the open db's test to check failure.Paul Joseph Davis
Damien made a good point that we should check that the error is generated as expected before waiting as necessary for the active db's to go idle. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@884344 13f79535-47bb-0310-9956-ffa450edef68
2009-11-25Fixed a bug preventing active_dbs from working.Paul Joseph Davis
Thanks Jeff Macdonald for the report. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@884315 13f79535-47bb-0310-9956-ffa450edef68
2009-11-23Fix and tests for COUCHDB-292Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@883494 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-13Initial check-in of APIs for multiple/related supported and incremental ↵Damien F. Katz
replication of only changed attachments. Needs more far more testing and to be hooked up the replicator. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@835981 13f79535-47bb-0310-9956-ffa450edef68
2009-11-05Minor reformating.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@833219 13f79535-47bb-0310-9956-ffa450edef68
2009-11-03Added batching of multiple updating requests, to improve throughput with ↵Damien F. Katz
many writers. Also removed the couch_batch_save module, now batch requests are simply saved async as immediately, batching with outhr updates if possible. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@832550 13f79535-47bb-0310-9956-ffa450edef68
2009-09-14View refactoring and addition of raw collationoption. Significant ↵Damien F. Katz
performance improvements in view indexer. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@814893 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-07-17Deterministic revids, MD5 checking of documents, added tracking of rev when ↵Damien F. Katz
an attachment is edited to allow attachment level replication. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@795232 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-05-25Merging new tail append storage into trunk. Upgrades are automatic, once ↵Damien F. Katz
opened by this version old versions of CouchDB will not be able to open the files. As a precaution, you should back-up your production databases before upgrading. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@778485 13f79535-47bb-0310-9956-ffa450edef68