Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
code improvements from tidier. Patch by Kostis Sagonas. COUCHDB-570
reboot replication from last checkpoint if DB is compacted or server restarts
typo
Only check for admin user if we are trying to create a database. Thanks to Bob Dionne for testing the patch.
add create_target:true option to _replicate that creates the target database
attempt at gentler replication shutdown when one of the DBs is deleted
choice of uuid algos for better insert perf. Closes COUCHDB-465. Thanks rnewson, bitdiddle
check if either history is empty, not both
code =~ s/imperative/declarative & faster/, thanks to Kostis Sagonas for pointing these out, more to come
fix continuous replication occurring after identical normal one Both forms of replication had the same child ID in the replication supervisor. As a result, a continuous replication triggered after an otherwise-identical normal replication would "forget" that it was continuous. The tricky part about this patch is that it lets a normal and a continuous replication with the same source and target execute simultaneously. That's inefficient, but other solutions are convoluted or give surprising results to the client.
fix pattern matching bug in redirects for replication if opening the DB returns 301, use the new URL for the rest of the replication
use _ensure_full_commit?seq=N in replication for efficiency
only save a checkpoint at the end if something changed
checkpoint at most once per 5 seconds
skip full_commit during replication when its safe
continuous replication request returns 202 Accepted and the _local docid
better failure modes in replication. See COUCHDB-193, COUCHDB-416 If you try to replicate a DB to itself, the replication will proceed, but no checkpoints will be saved, and the logs will say "checkpoint failure: conflict (are you replicating to yourself?)" If you try to specify a non-existent DB as source or target, replication will fail immediately with a 404. The response body will indicate which DB could not be opened.
new replicator using _changes feed for continuous replication
ibrowse wrapper for replicator, will replace do_http_request
Initial check-in of OAuth and cookie authentication.
encode slashes in db names in Location response header after database creation, move couch_rep:url_encode/1 to couch_util:url_encode/1, closes COUCHDB-411
Deterministic revids, MD5 checking of documents, added tracking of rev when an attachment is edited to allow attachment level replication.
wheeeeeeee
trimmed trailing whitespace
checkpoint during abnormal terminate is not safe
make sure process is still alive before calculating memory footprint
the atom doesn't necessarily exist
first crack at binary backoff for failed replicator requests
guard memory_footprint() list with is_pid()
one more hanging receive loop fix
replicator should never hang when attachment receiver dies
cleaner, more informative replicator log messages
replicator memory management and buffer flush calculation updates * 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
Removing leftover io:format call from debugging.
First cut at _changes api. Update the by_id and by_seq indexes to contain 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.
use revisions when replicating attachments. Closes COUCHDB-337
URL-encode attachment paths during replication
unify including of couch_db.hrl
Adding the necessary done=true to the last race condition fix in the replicator. Thanks Adam.
Fix for occasional replication failure where replication would complete 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]}"}
Streaming attachment replication now follows redirects and checks for error codes. Includes tests that design doc attachments are replicated.
Commit Damien's rep_security branch to trunk. Changes bulk_docs conflict checking. Breaks file format, see mailing list for data upgrade procedure, or http://wiki.apache.org/couchdb/Breaking_changes
beefier fault tolerance in the replicator - 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
rewrite replicator using OTP behaviours - 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
fix COUCHDB-253. Replicator should not use chunked transfer-encoding on GET requests. thanks Adam Kocoloski
Fix for spurious 'server restarted' during replication
Replacement of inets with ibrowse. Fixes COUCHDB-179 and enhances replication. Thanks Jason Davies and Adam Kocoloski for the fix, Maximillian Dornseif for reporting.
Added support so clients can detect if a server has potentially lost commits after multiple updates, like during bulk imports and so the replicator can detect lost commits on remote replications.
change count to limit in view query params
fix COUCHDB-174 thanks Adam Kocoloski
Adam Kocoloski replication performance improvements (closes COUCHDB-160)
move couchdb to tlp
Nearly completed security/validation work. Still needs replication testing.
More security and validation work. Still incomplete.
Check in of initial validation and authorization work. This work is incomplete, as there is not yet any way of restricting who can update the design docs.
apply replication fixing patches from COUCHDB-157
fix for COUCHDB-119 - replication is incremental between local and remote databases
Merged json_term_changes branch back into trunk.
Added concurrent open db limit and a LRU cache for closing old databases when limit reached (configurable via MaxDbsOpen var in couch.ini). Refactored db update code in couch_db.erl into couch_db_updater.erl.
Fix for problem when saving bulk documents with invalid ids
Fixed replication problems where read ad write queues can get backed up. With this fixed, throughput might be reduced.
Fix for replication being reset when replication a local and a remote database.
Replicator optmizations and fix for unnecessary document copy during re-replication
Change uuid generaion to rely on crypto. Started crypto and inets application in startscript, and also couch_server_up. Fix for regression caused by accidental check-in of disabled etags.
Added proper UUID generation and changed the details of how way debug logging is done to now use a more effcient macro instead of a function call.
Merged mochiweb branch back into trunk.
Compaction. Works, but still needs queueing and better handling for long reads/writes overlapping the compaction switchover.
Imported trunk.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| apache@apache.org | ViewVC Help |
| Powered by ViewVC 1.1.2 |