summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_rep.erl
AgeCommit message (Collapse)Author
2009-05-16replicator memory management and buffer flush calculation updatesAdam Kocoloski
* new should_flush fun considers ndocs, nattachments, memory in making decision * memory utilized by attachment receivers is accounted for * download attachments using standalone connections instead of conn pool. This prevents a document request from getting stuck behind a huge attachment, which would prevent us from triggering a buffer flush in time. We also consider the memory utilization of the standalone ibrowse connection in should_flush git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@775507 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06Removing leftover io:format call from debugging.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@772415 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-05-04use revisions when replicating attachments. Closes COUCHDB-337Adam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@771480 13f79535-47bb-0310-9956-ffa450edef68
2009-04-15URL-encode attachment paths during replicationAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@765364 13f79535-47bb-0310-9956-ffa450edef68
2009-03-31unify including of couch_db.hrlJan Lehnardt
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@760533 13f79535-47bb-0310-9956-ffa450edef68
2009-03-16Adding the necessary done=true to the last race condition fix in the ↵Damien F. Katz
replicator. Thanks Adam. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@755016 13f79535-47bb-0310-9956-ffa450edef68
2009-03-16Fix for occasional replication failure where replication would complete ↵Damien F. Katz
before before the caller had a chance to request the results. No tests, but this should fix this error that already occurs occasionally: {"error":"normal","reason":"{gen_server,call,[<0.228.0>,get_result,infinity]}"} git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@755009 13f79535-47bb-0310-9956-ffa450edef68
2009-03-15Streaming attachment replication now follows redirects and checks for error ↵John Christopher Anderson
codes. Includes tests that design doc attachments are replicated. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@754704 13f79535-47bb-0310-9956-ffa450edef68
2009-03-13Commit Damien's rep_security branch to trunk. John Christopher Anderson
Changes bulk_docs conflict checking. Breaks file format, see mailing list for data upgrade procedure, or http://wiki.apache.org/couchdb/Breaking_changes git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@753448 13f79535-47bb-0310-9956-ffa450edef68
2009-03-08beefier fault tolerance in the replicatorAdam Kocoloski
- trap exits (enumerator and attachment streamers are linked) - retry by respawning enumerator with last known good source seq - checkpoint replication record on every flush of document buffer - reformat nicer error messages to listeners if we need to exit git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@751491 13f79535-47bb-0310-9956-ffa450edef68
2009-03-07rewrite replicator using OTP behavioursAdam Kocoloski
- only one instance of given source->target runs at a time - supervisor restarts replications that terminate abnormally - pull repl. streams attachments directly to disk - improved memory utilization - temporarily rollback parallel async doc GETs during pull rep. - replication updates show up in Futon Status window git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@751305 13f79535-47bb-0310-9956-ffa450edef68
2009-02-13fix COUCHDB-253. Replicator should not use chunked transfer-encoding on GET ↵John Christopher Anderson
requests. thanks Adam Kocoloski git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@744193 13f79535-47bb-0310-9956-ffa450edef68
2009-02-12Fix for spurious 'server restarted' during replicationDamien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@743801 13f79535-47bb-0310-9956-ffa450edef68
2009-01-29Replacement of inets with ibrowse. Fixes COUCHDB-179 and enhances replication.John Christopher Anderson
Thanks Jason Davies and Adam Kocoloski for the fix, Maximillian Dornseif for reporting. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@739047 13f79535-47bb-0310-9956-ffa450edef68
2009-01-09Added support so clients can detect if a server has potentially lost commits ↵Damien F. Katz
after multiple updates, like during bulk imports and so the replicator can detect lost commits on remote replications. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@733174 13f79535-47bb-0310-9956-ffa450edef68
2009-01-04change count to limit in view query paramsJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@731159 13f79535-47bb-0310-9956-ffa450edef68
2008-12-16fix COUCHDB-174 thanks Adam KocoloskiJohn Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@727182 13f79535-47bb-0310-9956-ffa450edef68
2008-12-16Adam Kocoloski replication performance improvements (closes COUCHDB-160)John Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@727171 13f79535-47bb-0310-9956-ffa450edef68
2008-11-20Nearly completed security/validation work. Still needs replication testing.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@719160 13f79535-47bb-0310-9956-ffa450edef68
2008-11-17More security and validation work. Still incomplete.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@718311 13f79535-47bb-0310-9956-ffa450edef68
2008-11-11Check in of initial validation and authorization work. This work is ↵Damien F. Katz
incomplete, as there is not yet any way of restricting who can update the design docs. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@713132 13f79535-47bb-0310-9956-ffa450edef68
2008-11-09apply replication fixing patches from COUCHDB-157John Christopher Anderson
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@712578 13f79535-47bb-0310-9956-ffa450edef68
2008-09-23fix for COUCHDB-119 - replication is incremental between local and remote ↵John Christopher Anderson
databases git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@698333 13f79535-47bb-0310-9956-ffa450edef68
2008-08-31Merged json_term_changes branch back into trunk.Christopher Lenz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@690668 13f79535-47bb-0310-9956-ffa450edef68
2008-08-05Added concurrent open db limit and a LRU cache for closing old databases ↵Damien F. Katz
when limit reached (configurable via MaxDbsOpen var in couch.ini). Refactored db update code in couch_db.erl into couch_db_updater.erl. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@682560 13f79535-47bb-0310-9956-ffa450edef68
2008-07-18Fix for problem when saving bulk documents with invalid idsDamien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@677892 13f79535-47bb-0310-9956-ffa450edef68
2008-07-16Fixed replication problems where read ad write queues can get backed up. ↵Damien F. Katz
With this fixed, throughput might be reduced. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@677426 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23Fix for replication being reset when replication a local and a remote database.Damien F. Katz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@650729 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23Replicator optmizations and fix for unnecessary document copy during ↵Damien F. Katz
re-replication git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@650705 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20Change uuid generaion to rely on crypto. Started crypto and inets ↵Damien F. Katz
application in startscript, and also couch_server_up. Fix for regression caused by accidental check-in of disabled etags. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@649988 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20Added proper UUID generation and changed the details of how way debug ↵Damien F. Katz
logging is done to now use a more effcient macro instead of a function call. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@649948 13f79535-47bb-0310-9956-ffa450edef68
2008-04-15Merged mochiweb branch back into trunk.Christopher Lenz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@648222 13f79535-47bb-0310-9956-ffa450edef68
2008-04-07Compaction. Works, but still needs queueing and better handling for long ↵Damien F. Katz
reads/writes overlapping the compaction switchover. git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@645661 13f79535-47bb-0310-9956-ffa450edef68
2008-03-28Imported trunk.Christopher Lenz
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@642432 13f79535-47bb-0310-9956-ffa450edef68