summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-10-01fix COUCHDB-648 - _update handler ignores "code"Randall Leeds
Test by Christian Carter This is a backport of r1177890 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1177892 13f79535-47bb-0310-9956-ffa450edef68
2011-09-30Replicator: skip documents with empty IDFilipe David Borba Manana
Due to a bug, older releases allowed the creation of documents with an empty ID, which are impossible to GET therefore making the replicator crash. This change simply skips such documents and logs an error message to inform users. This is a backport of revision 1177548 from trunk. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1177550 13f79535-47bb-0310-9956-ffa450edef68
2011-09-28Rest of the fix for COUCHDB-1265Paul Joseph Davis
As a follow up to COUCHDB-1265 I was missing the fact that after the insertion of a new update_seq into an internal node it is quite possible that a compaction runs before the doc is updated again. This is important because compaction removes information of the largest update seq from the tree itself. The fix is simple to include the update_seq from the #full_doc_info{} record when calculating #doc_info.high_seq. The way to think of this is that it's the maximum value from all known values for the update sequence which can be defined as all values known in the tree or in the full_doc_info record. Backport of r1176701 from trunk git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1176704 13f79535-47bb-0310-9956-ffa450edef68
2011-09-27Fixes COUCHDB-1152 - Update ICU on Windows.Robert Newson
Thanks to Dave Cottlehuber for the patch. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1176651 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23Write header before handing over compacted groupAdam Kocoloski
Writing the header first ensures that the index will not be reset if the server crashes in between the handoff and the next delayed_commit. See COUCHDB-994 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1174979 13f79535-47bb-0310-9956-ffa450edef68
2011-09-22fix port conversion in vhostRobert Newson
fix port conversion, don't forget to use substr function. spotted by @rnewson on irc, again. thanks. patch by benoitc. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1174358 13f79535-47bb-0310-9956-ffa450edef68
2011-09-15Make sure view compaction terminatesFilipe David Borba Manana
If a view group is compacting and the corresponding database is shutdown by the LRU system, then the view compaction is aborted because its couch view group process shutdowns. This could lead to situations where the number of active databases is much higher than max_dbs_open and making it impossible to compact view groups. Issue reported and patch tested by Mike Leddy. Thanks. COUCHDB-1283 This is a backport of revision 1171328 from branch 1.2.x git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1171329 13f79535-47bb-0310-9956-ffa450edef68
2011-09-13Allow slashes in doc ids in URLs to _update handlers.Jan Lehnardt
This mirrors the behaviour of the _show API. Patch by Christopher Bonhage. Closes COUCHDB-1229 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1170299 13f79535-47bb-0310-9956-ffa450edef68
2011-09-08COUCHDB-1274 - Use text/javascript content-type for jsonp responses.Robert Newson
Backported from trunk @1166618 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1166627 13f79535-47bb-0310-9956-ffa450edef68
2011-09-08And the rest of the commit/Paul Joseph Davis
SVN != Git. Forgot to check svn status before committing. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1166526 13f79535-47bb-0310-9956-ffa450edef68
2011-09-08Fix CouchJS compatibility with older SpiderMonkey.Paul Joseph Davis
This is a backport of the work to make CouchJS build against all of the major versions of SpiderMonkey. Thanks to Randall Leeds and Chris Coulson for the original patches. Backport based on r1137464 and r1164346 Fixes COUCHDB-1078 Fixes COUCHDB-1260 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1166525 13f79535-47bb-0310-9956-ffa450edef68
2011-09-02Fixes COUCHDB-1265Paul Joseph Davis
Backport of 1164350 from trunk. Slightly modified for an export declaration conflict and removing a clause that only applies to trunk. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1164351 13f79535-47bb-0310-9956-ffa450edef68
2011-08-31Fix order of parameters in log messageFilipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1163747 13f79535-47bb-0310-9956-ffa450edef68
2011-08-27Remove unnecessary call after revision 1162306Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1162307 13f79535-47bb-0310-9956-ffa450edef68
2011-08-27Fix replication crash on database compactionFilipe David Borba Manana
There were race conditions that made replications crash when a local endpoint database is compacted. Patch tested by Joan Touzet. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1162306 13f79535-47bb-0310-9956-ffa450edef68
2011-08-25Remove Style where we have no need for itAdam Kocoloski
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1161703 13f79535-47bb-0310-9956-ffa450edef68
2011-08-25Do not suppress old revisions from _changesAdam Kocoloski
Requests to '_changes?style=all_docs' with a 'since' parameter would suppress revisions of a document generated before the start of the feed. The assumption may have been that those revisions were seen by the client in a previous request to _changes, but this is not necessarily true if the client is resuming the feed after a partial download. The safe thing to do is to include all leaf revisions for each document in the feed. Thanks Bob Dionne for the test code. Closes COUCHDB-1256 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1161702 13f79535-47bb-0310-9956-ffa450edef68
2011-08-19Updated changes feed connect timeout to 30 secondsFilipe David Borba Manana
This is the timeout used everywhere else. Some users are constantly unable to replicate since under some scenarios (namely via SSL) a timeout of 10 seconds is too short. This is related to a thread in the users mailing list: http://mail-archives.apache.org/mod_mbox/couchdb-user/201106.mbox/%3CBANLkTik3y-nN1uWMyNgzA_0ZSjxXdcMqQw@mail.gmail.com%3E git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1159501 13f79535-47bb-0310-9956-ffa450edef68
2011-08-18Merge revision 1159045 from trunkFilipe David Borba Manana
Fix dead lock case in the os process pool Part of this patch was done by Paul Davis. The patch also introduces a test case to validate that the os process pool (couch_query_servers) operates as it should. Closes COUCHDB-1246. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1159049 13f79535-47bb-0310-9956-ffa450edef68
2011-08-15Fix empty range check for raw collation.Paul Joseph Davis
The check for empty ranges was not taking into account the view option for raw collation. This fixes that by passing the couch_btree:less/2 function into the check. Patch by: Jason Smith Back port of: 1156506, 1156507, 1156509, 1156509, 1156610 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1157706 13f79535-47bb-0310-9956-ffa450edef68
2011-08-13Merge revision 1157428 from trunkFilipe David Borba Manana
Doc validation functions from deleted ddocs must be ignored If a design document is deleted by updating it with a "_deleted" field set to the boolean value true, its validate_doc_update function should be ignored for subsequent document insertions/updates. This closes COUCHDB-1227. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1157429 13f79535-47bb-0310-9956-ffa450edef68
2011-08-10Revert couch_server changes added in revision 1156361Filipe David Borba Manana
Leaving the tests however since it doesn't hurt. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156385 13f79535-47bb-0310-9956-ffa450edef68
2011-08-10COUCHDB-1245 - enforce maximum chunk size for _log call to better manage memory.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156369 13f79535-47bb-0310-9956-ffa450edef68
2011-08-10Merged revision 1156360 from trunkFilipe David Borba Manana
Prevent data loss on db creation request 1) Create and populate a database 2) Restart the server 3) Send a PUT request to create the database - the server will override the existing file, making all previous documents no longer accessible nor recoverable git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156361 13f79535-47bb-0310-9956-ffa450edef68
2011-08-10COUCHDB-1244 - close file descriptor in couch_log:read/2Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1156351 13f79535-47bb-0310-9956-ffa450edef68
2011-07-30Backport of r1152398 from trunkRandall Leeds
Fix COUCHDB-1076 - views skip empty btree branches git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1152406 13f79535-47bb-0310-9956-ffa450edef68
2011-07-30Backport of r1152397 from trunkRandall Leeds
Call traversal handlers in btree folds Previously the fold function was only invoked for leafs. With this change it's possible to define a fold function which is called for inner nodes and can return a tuple {skip, Acc} in order to skip exploration of the branch. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1152405 13f79535-47bb-0310-9956-ffa450edef68
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-07-06Merge revision 1143375 from trunkFilipe David Borba Manana
Redefine logging macros With these macro definitions we don't evaluate the arguments if the corresponding log level is not enabled. This behaviour was accidently removed by the patch from COUCHDB-1054. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1143376 13f79535-47bb-0310-9956-ffa450edef68
2011-07-04Backport r1142685 from trunk: Allow "/" as vhost target.Jan Lehnardt
Includes a one-line whitespace fix. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142689 13f79535-47bb-0310-9956-ffa450edef68
2011-07-03Remove warning about unused variableFilipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142410 13f79535-47bb-0310-9956-ffa450edef68
2011-07-02Merged revision 1142262 from trunkFilipe David Borba Manana
On server startup, restart replications in error If we setup a continuous replication which goes into an error state and restart Couch just before the replication is retried (before it transitions to the triggered state), the user has to manually restart the replication (recreating the document or deleting its _replication_state field). git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142263 13f79535-47bb-0310-9956-ffa450edef68
2011-07-02Merge revision 1142259 from trunkFilipe David Borba Manana
Replication manager, ignore db monitor messages Ignore local database monitor messages. These messages are received in some circunstances because replication processes spawn local database monitors but never do the corresponding erlang:demonitor/1,2 calls. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142260 13f79535-47bb-0310-9956-ffa450edef68
2011-07-02Restart replications on errorFilipe David Borba Manana
If a replication transitions to the "error" state, attempt to restart it up to "max_replication_retry_count" times (.ini configuration parameter). This number of retry attempts can now be set to "infinity" as well. This was already current behaviour in trunk (upcoming 1.2). Closes COUCHDB-1194. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1142258 13f79535-47bb-0310-9956-ffa450edef68
2011-06-30COUCHDB-1206 - include current_seq in view ETag for include_docs=trueRobert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1141522 13f79535-47bb-0310-9956-ffa450edef68
2011-06-28Backport revision 1140886 from trunkFilipe David Borba Manana
Improved error message in the replicator git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1140887 13f79535-47bb-0310-9956-ffa450edef68
2011-06-26Merged revision 1139894 from trunkFilipe David Borba Manana
Don't steal data from subsequent requests in the pipeline git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1139897 13f79535-47bb-0310-9956-ffa450edef68
2011-06-23Merged revision 1104168 from trunkFilipe David Borba Manana
Add infinity timeout to couch_ref_counter calls After compacting a very large database, the updater calls the couch_db gen_server with a db record that contains a new ref counter. The couch_db gen_server calls drop on the old ref counter and calls add on the new ref counter. However since the system is busy deleting the old db file or garbage collecting, one of the ref counter calls times out, causing couch_db's terminate to invoked and terminate calls shutdown on the updater. However the updater is waiting for the call it made to couch_db to complete, which can't complete since it's waiting for the updater. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1138799 13f79535-47bb-0310-9956-ffa450edef68
2011-06-23Merged revision 1138796 from trunkFilipe David Borba Manana
Simpler and safer db open/closing in view group servers This makes the opening and closing of databases in the view group server to be more friendly with the db reference counting system, avoiding more potential db file leaking after compaction, as we currently open a database in one process and use it on another process (view compactor, view updater). This significantly reduces the chances of failure when compacting very large views as discussed in COUCHDB-994. This relates to COUCHDB-926 and COUCHDB-994. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1138798 13f79535-47bb-0310-9956-ffa450edef68
2011-06-21Backport revision 1137928 from trunkFilipe David Borba Manana
Fix server crash associated with the replicator database If there's an exception when calculating the replication ID for a replication document, it crashes the replication manager gen_server 10 times. 10 is the maximum number of restarts per hour specified for the couch_server_sup supervisor. An easy way to trigger such exception is to specify a non existent filter in a replication document. This closes COUCHDB-1199. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1137929 13f79535-47bb-0310-9956-ffa450edef68
2011-06-20Fix spurious declarations of new merge conflictsRobert Newson
This patch also adds extra tests of the key tree merging logic as well as edoc-formatted documentation for the module and a few of the merge functions. Closes COUCHDB-902. Thanks Paul Davis, Bob Dionne, Klaus Trainer. backported from trunk@1065471 Conflicts: src/couchdb/couch_key_tree.erl git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1137789 13f79535-47bb-0310-9956-ffa450edef68
2011-06-16Merge revision 1136639 from trunkFilipe David Borba Manana
Human readable message on view compaction error When a view has duplicated document IDs in the main btree, the view compactor exists. Unfortunatelly its exit reason is not human readable because it's an IOList. This patch improves the error message and logs it with an 'error' level. Issue reported by Mike Leddy in ticket COUCHDB-999. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1136640 13f79535-47bb-0310-9956-ffa450edef68
2011-06-12Backport revision 1129897 from trunkFilipe David Borba Manana
Fixes to the doc PUT multipart API Don't hold the connection forever if the document is rejected by a validate_doc_update function. The solution is to discard all the attachments' data if the document was rejected. git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1134942 13f79535-47bb-0310-9956-ffa450edef68
2011-06-12Fix erlang-oauth Makefile.am (wrong file extension)Filipe David Borba Manana
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1134941 13f79535-47bb-0310-9956-ffa450edef68
2011-06-08backport r1133312 from trunkRandall Leeds
_view_cleanup with no _design docs - COUCHDB-1136 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1133510 13f79535-47bb-0310-9956-ffa450edef68
2011-06-08bump minimum erlang to R13B02 (COUCHDB-1191)Randall Leeds
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1133272 13f79535-47bb-0310-9956-ffa450edef68
2011-06-03set HttpOnly on auth cookies on SSL.Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1130996 13f79535-47bb-0310-9956-ffa450edef68
2011-05-30supervisor:delete_child returns ok after a successful terminated_child in R14B03Robert Newson
git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1129107 13f79535-47bb-0310-9956-ffa450edef68
2011-05-28COUCHDB-1171 Multiple requests to _changes feed causes {error, system_limit} ↵Robert Newson
"Too many processes" git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1128704 13f79535-47bb-0310-9956-ffa450edef68