Age | Commit message (Collapse) | Author |
|
Replicator database: only validate user_ctx if doc is not being deleted
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1081104 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator manager: do basic validation of replication documents
Now the default design document of the replicator database validates
each replication document added to the database so that necessary
fields must be present and have the right type, and optional replication
related fields have the correct type as well.
Closes COUCHDB-1088.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1080954 13f79535-47bb-0310-9956-ffa450edef68
|
|
Parameter "include_docs" now honors parameter "conflicts"
When querying a map view, /db/_all_docs/ or /db/_changes/ with
"include_docs=true", if "conflicts=true" is given as well, the
documents will contain the conflicts list (if there are conflicting
revisions).
Closes COUCHDB-549.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1079941 13f79535-47bb-0310-9956-ffa450edef68
|
|
Renamed module couch_rep_db_listener to couch_replication_manager
This new name is more appropriate since it describes more precisely
what the modules does.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1079478 13f79535-47bb-0310-9956-ffa450edef68
|
|
Catch all in couch_util:to_binary/1 list argument clause
When a list_to_binary call fails, the error tag is 'error' and not 'throw'.
This was noticed when this clause was being hit in an error clause of the
replication http handler (couch_httpd_replicator.erl).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1078317 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator database: add document ID to log message
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1071791 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1070884 13f79535-47bb-0310-9956-ffa450edef68
|
|
_all_docs rows must not deleted include documents
After COUCHDB-1061, when POSTing to _all_docs?include_docs=true with
the body "keys" option, deleted documents were part part of the output.
The "doc" property of each _all_docs row should have the value 'null'
for all deleted documents (when ?include_docs=true).
A test was added to help prevent this from happening again.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1070631 13f79535-47bb-0310-9956-ffa450edef68
|
|
More efficient _changes?include_docs=true and _all_docs?include_docs=true
Closes COUCHDB-1061
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1069264 13f79535-47bb-0310-9956-ffa450edef68
|
|
More efficient logging, closes COUCHDB-1054
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1067877 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1066596 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1066404 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: make number of replication retry attempts configurable
Closes COUCHDB-1051
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1066342 13f79535-47bb-0310-9956-ffa450edef68
|
|
The motivation for this backport is to prevent the "nodelay" option,
under section "httpd", from reaching version 1.1. This patch introduces
the "socket_options" configuration parameter which is more generic - it
allows nodelay as well as other socket options to be specified. Not adding
this patch to 1.1.x would imply still supporting the "nodelay" parameter in
future releases to avoid breaking the configuration API.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1065922 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1064856 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1064801 13f79535-47bb-0310-9956-ffa450edef68
|
|
Backprot of 1064417 from trunk.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1064421 13f79535-47bb-0310-9956-ffa450edef68
|
|
COUCHDB-644, COUCHDB-1044
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1064147 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: on restart, make several attempts to restart the replications
Now on restart, the replicator database listener will make up to 10 attempts
to restart each replication. Before each attempt, it waits, using an exponential
backoff strategy, before doing the next attempt.
This is very useful because when one server restarts, other servers that are
endpoints of its replications, may not be online yet.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1062784 13f79535-47bb-0310-9956-ffa450edef68
|
|
Refactoring of the replicator database listener
Simpler implementation and more reliable behaviour when the replicator
database is deleted or changed on the fly.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1062773 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix strange result when passing a filter and a limit of 1 to /db/_changes
Fixes COUCHDB-1037
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1061811 13f79535-47bb-0310-9956-ffa450edef68
|
|
compressible_types list
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1061282 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix by-doc-IDs pull replication from a CouchDB server version < 1.1.0
Closes COUCHDB-1028
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1060862 13f79535-47bb-0310-9956-ffa450edef68
|
|
This is a workaround for a bug in couch_key_tree, described in
COUCHDB-902, which would cause uploads to fail with spurious conflicts.
A patch for the key tree itself will be landing on trunk.
Thanks Bob Dionne, Klaus Trainer.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1060150 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
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
|
|
Avoid unnecessary conversion to binary
Mochiweb accepts IO lists.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1059889 13f79535-47bb-0310-9956-ffa450edef68
|
|
Removed unnecessary iolist_to_binary/1 calls
These IOlist to binary conversions are not necessary since ibrowse accepts
IOlists as outputs of streaming functions. Also, having the IOlists getting
converted into binaries by the erts (instead of user Erlang code) is more
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1059885 13f79535-47bb-0310-9956-ffa450edef68
|
|
While Filipe has identified the fix for COUCHDB-1021, this patch will
ensure that no other bug will cause negative values to be passed to
this function, in turn leading to database inflation problems, etc.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1058059 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-1021
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1057987 13f79535-47bb-0310-9956-ffa450edef68
|
|
Make the doc multipart GET APIs always send attachments compressed
For attachments that are stored in compressed (gzip) form, make sure the
document multipart/related and multipart/mixed APIs don't decompress the
attachments before sending them through the socket. This is to avoid multipart
parser issues when the attachment's identity length is unknown or lost due to
a local to local replication triggered by CouchDB versions up to 1.0.1
Closes COUCHDB-1022.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1057879 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add missing case for COUCHDB-966
When not able to read one of the .ini configuration files due to file permissions,
map {error, eacces} into {file_permission_error, Filepath} and throw that as an exception.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1056695 13f79535-47bb-0310-9956-ffa450edef68
|
|
More explicit and helpful file access permission errors
Closes COUCHDB-966
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1056275 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1054783 13f79535-47bb-0310-9956-ffa450edef68
|
|
Removed references to no longer used config parameters
Closes COUCHDB-1007
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1054741 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-993
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1053658 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1053513 13f79535-47bb-0310-9956-ffa450edef68
|
|
This patch ensures that we only ever merge a linear path into the tree.
It relies on the stemming code to collapse paths that could have been
merged together by a recursive use of merge_one.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1053512 13f79535-47bb-0310-9956-ffa450edef68
|
|
Fix: replicator didn't use the HTTP settings defined in the .ini config
Issue found by Randall Leeds. Thanks.
Closes COUCHDB-992
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1052229 13f79535-47bb-0310-9956-ffa450edef68
|
|
Allow a multipart/mixed document GET to send the attachments in encoded (compressed) form
Currently this API is not used internally but it's a very important one for the new replicator.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1052048 13f79535-47bb-0310-9956-ffa450edef68
|
|
Make sure attachments get compressed when their MIME type lists parameters
Closes COUCHDB-996.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1052032 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1049250 13f79535-47bb-0310-9956-ffa450edef68
|
|
Calculate and verify MD5 digests outside of a couch_file server
This has a significant positive impact on the performance, both for readers and writers,
when there are several requests in parallel acessing the same database or view index file.
$ node tests/compare_write_and_read.js --wclients 100 --rclients 200 \
-name1 md5_out -name2 trunk \
-url1 http://localhost:5984/ -url2 http://localhost:5985/ \
--duration 120
run 1) http://graphs.mikeal.couchone.com/#/graph/5c859b3e7d1b9bd0488cfe271105130c
run 2) http://graphs.mikeal.couchone.com/#/graph/5c859b3e7d1b9bd0488cfe2711051bba
Closes COUCHDB-980
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1044283 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043462 13f79535-47bb-0310-9956-ffa450edef68
|
|
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
|
|
This commit represents a substantial refactor of the key tree merging
logic, some of which is not strictly necessary for the resolution of
COUCHDB-968.
Two etap test cases checking the ability to merge in a non-linear tree
are removed because the functionality is no longer supported. CouchDB
only ever merged a linear revision history into an existing revision
tree.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043460 13f79535-47bb-0310-9956-ffa450edef68
|
|
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043459 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator improvement: send "unauthorized" error message instead of "db_not_found" when a remote endpoint can not be accessed due to authorization.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1043188 13f79535-47bb-0310-9956-ffa450edef68
|
|
Proper verification of the accepted content types plus some code cleaning.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1041113 13f79535-47bb-0310-9956-ffa450edef68
|