Age | Commit message (Collapse) | Author |
|
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
|
|
Missing cases for COUCHDB-949 (adding aliases start_key and end_key).
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1040605 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB listener: removed function clause not needed anymore.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1039873 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: proper handling of the changes loop process.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1039070 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: added _replication_state_time (a unix timestamp value) to replication documents.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038666 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: fix a rare gen_server death case. Happened when the rep_db_created message is received before the changes loop dies.
Also simplified a bit the handling of subprocesses exits.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038662 13f79535-47bb-0310-9956-ffa450edef68
|
|
Corrected error message grammar.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038182 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: stop all ongoing replications when the replicator DB is deleted or renamed (in the .ini config).
Also updated the gen_server to stop when it receives unexpected calls.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038177 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB: added underscore prefix to the replication document fields that are meant to to be set/updated only by the replicator.
This makes it more clear to end users that those fields are meant to be used internally by CouchDB.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038173 13f79535-47bb-0310-9956-ffa450edef68
|
|
Replicator DB changes:
- Added back the restriction that only the replicator can edit replication documents - this avoids
lots of potential race conditions and confusion;
- Added more tests;
- More accurate log messages;
- Don't ignore always replication documents already tagged with a replication_id property - this
is necessary when replicating a replicator DB from one server to another server.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1038068 13f79535-47bb-0310-9956-ffa450edef68
|
|
Add proper validation of user_ctx.roles for replication documents.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1037457 13f79535-47bb-0310-9956-ffa450edef68
|
|
Proper verification of the roles property of a user document.
Closes COUCHDB-790. Thanks Gabriel Farrell.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1037450 13f79535-47bb-0310-9956-ffa450edef68
|
|
to start_key_doc_id and end_key_doc_id.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036818 13f79535-47bb-0310-9956-ffa450edef68
|
|
Closes COUCHDB-949.
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@1036813 13f79535-47bb-0310-9956-ffa450edef68
|