summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '3.x' into backport-mango-fixbackport-mango-fixTony Sun2020-08-282-0/+203
|\
| * Allow drilldown for search to always be specified as list of lists (#3109)Bessenyei Balázs Donát2020-08-282-0/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To use multiple `drilldown` parameters users had to define `drilldown` multiple times to be able supply them. This caused interoperability issues as most languages require defining query parameters and request bodies as associative arrays, maps or dictionaries where the keys are unique. This change enables defining `drilldown` as a list of lists so that other languages can define multiple drilldown keys and values. Co-authored-by: Robert Newson <rnewson@apache.org> Co-authored-by: Robert Newson <rnewson@apache.org> Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
* | bypass partition query limit for mangoTony Sun2020-08-283-4/+64
|/ | | | | | | | When partition_query_limit is set for couch_mrview, it limits how many docs can be scanned when executing partitioned queries. But this limits mango's doc scans internally. This leads to documents not being scanned to fulfill a query. This fixes: https://github.com/apache/couchdb/issues/2795
* Merge pull request #3113 from apache/backport-python-formatTony Sun2020-08-281-1/+4
|\ | | | | update dev/run formatting to adhere to python format checks
| * update dev/run formatting to adhere to python format checksTony Sun2020-08-281-1/+4
|/
* Don't log client disconnects (#3102)Joan Touzet2020-08-251-0/+2
| | | Co-authored-by: Robert Newson <rnewson@apache.org>
* Handle jiffy returning an iolist when encoding atts_since query stringNick Vatamaniuc2020-08-201-1/+1
| | | | | | | | | | | | | | | | If we don't handle it, it throws an error when trying to encode the full URL string, for example: ``` badarg,[ {mochiweb_util,quote_plus,2,[{file,"src/mochiweb_util.erl"},{line,192}]}, {couch_replicator_httpc,query_args_to_string,2,[{file,"src/couch_replicator_httpc.erl"},{line,421}]}, {couch_replicator_httpc,full_url,2,[{file,"src/couch_replicator_httpc.erl"},{line,413}]}, {couch_replicator_api_wrap,open_doc_revs,6,[{file,"src/couch_replicator_api_wrap.erl"},{line,255}]} ] ``` This is also similar to what we did for open_revs encoding: https://github.com/apache/couchdb/commit/a2d0c4290dde2015e5fb6184696fec3f89c81a4b
* Merge pull request #3080 from apache/couch_index_server_crash2-3.xRobert Newson2020-08-141-1/+5
|\ | | | | Don't crash couch_index_server if the db isn't known yet
| * Don't crash couch_index_server if the db isn't known yetcouch_index_server_crash2-3.xRobert Newson2020-08-141-1/+5
|/ | | | | | | If a ddoc is added immediately after database creation (_users and _replicator when couchdb is used in a multi-tenant fashion), we can crash couch_index_server in handle_db_event, as mem3_shards:local throws an error.
* Merge pull request #3078 from apache/validate-db-create-params-3.xEric Avdey2020-08-142-9/+165
|\ | | | | Validate shard specific query params on db create request
| * Validate shard specific query params on db create requestvalidate-db-create-params-3.xEric Avdey2020-08-132-9/+165
|/
* Merge pull request #3071 from apache/couch_index_server_crash-3.xRobert Newson2020-08-121-2/+8
|\ | | | | Unlink index pid and swallow EXIT message if present
| * Unlink index pid and swallow EXIT message if presentRobert Newson2020-08-121-2/+8
|/ | | | | | | | | This should prevent unexpected exit messages arriving which crash couch_index_server. Patch suggested by davisp. Closes #3061.
* Fix/csp 3.x (#3069)Joan Touzet2020-08-102-2/+2
| | | | | | | * fix: send CSP header to make Fauxotn work fully Co-authored-by: Robert Newson <rnewson@apache.org> * Remove accidental chttpd_auth.erl.orig commit
* Windows: provide full path to epmdJoan Touzet2020-08-031-0/+1
|
* Port view multi_key tests into elixirJuanjo Rodriguez2020-07-246-3/+513
|
* port update_documents.js into elixirJuanjo Rodriguez2020-07-243-2/+326
|
* port view_sandboxing.js into elixirJuanjo Rodriguez2020-07-243-1/+193
|
* New cname for couchdb-vm2, see INFRA-20435 (#2983)Joan Touzet2020-07-202-6/+6
|
* Fix compactor bind_emsort clauseNick Vatamaniuc2020-07-131-2/+3
| | | | | | When compactor finds an old compaction file, before the state was upgraded to a a proplist, the state will be `Root` from `emsort`, which is a `{BB, Prev}` tuple not an integer.
* Port view_compaction test to elixirJuanjo Rodriguez2020-07-074-2/+109
|
* Port view_collation_raw.js to elixirJuanjo Rodriguez2020-07-073-1/+161
|
* fix: set gen_server:call() timeout to infinity on ioq bypassJan Lehnardt2020-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Before the bypass existed, ioq would call `gen_server:call()` on hehalf of it calling module with the queueing logic in between. Commit e641a740 introduced a way to bypass any queues, but the delegated `gen_server:call()` there was added without a timeout parameter, leading to a default timeout of 5000ms. A problem manifests here when operations that are sent through ioq that take longer than that 5000ms timeout. In practice, these operations should be very rare and this timeout should be a help on overloaded systems. However, one sure-fire way to cause an issue on an otherwise idle machine is raise the max_document_size and store unreasonably large documents, think 50MB+ of raw JSON). Not that we recommend this, but folks have run this fine on 2.x before the ioq changes and it isn’t too hard to support here. By adding an `infinity` timeout delegated `gen_server:call()` in the queue bypasse case, this no longer applies. Thanks to Joan @woahli Touzet, Bob @rnewson Newson and Paul @davisp Davis for helping to track this down.
* Port view_update_seq.js into elixirJuanjo Rodriguez2020-06-303-1/+144
|
* Port reader_acl test into elixir test suiteJuanjo Rodriguez2020-06-303-2/+257
|
* Skip tests as temporary views are not supportedJuanjo Rodriguez2020-06-271-0/+1
|
* Tests already ported to elixirJuanjo Rodriguez2020-06-272-0/+2
|
* Upgrade Credo to 1.4.0Alessio Biancalana2020-06-222-3/+3
|
* In replicator, when rescheduling, pick only pending jobs which are not runningNick Vatamaniuc2020-06-181-0/+16
| | | | | | | Previously, when pending jobs were picked in the `ets:foldl` traversal, both running and non-running jobs were considered and a large number of running jobs could displace pending jobs in the accumulator. In the worst case, no crashed jobs would be restarted during rescheduling.
* move compact and replicate functions into CouchTestCase shared moduleJuanjo Rodriguez2020-05-278-155/+56
|
* Port rev_stemming into elixirJuanjo Rodriguez2020-05-273-1/+195
|
* Quit test run without checking that couchdb is runningJuanjo Rodriguez2020-05-031-8/+15
|
* Report the chttpd_auth authentication db in session info (#2823)3.1.0-RC23.1.0Jay Doane2020-04-303-1/+111
| | | | | | | | Currently, result of GET `/_session` reports the `authentication_db` of the obsolete admin port 5986. This updates it to report the actual db used for authentication, provided it is configured. Otherwise, it omits `authentication_db` entirely from the session info. (cherry picked from commit 1e9d0e3c1828d828bb3e8efdbbbd2e348ff518f2)
* Merge pull request #2854 from apache/3.x-backports-verbumpJoan Touzet2020-04-304-6/+9
|\ | | | | 3.x backports verbump
| * Fix python-black target for WindowsJoan Touzet2020-04-301-2/+2
| |
| * allow to run 'javascript' target with other test targets in the same 'make' ↵Juanjo Rodriguez2020-04-302-2/+5
| | | | | | | | process
| * Bump version number to 3.1.0Joan Touzet2020-04-302-2/+2
|/
* bump docs, fauxton for 3.1.03.1.0-RC1Joan Touzet2020-04-291-2/+2
|
* Add Ubuntu Focal (20.04) + SM68 to JenkinsJoan Touzet2020-04-292-2/+48
|
* Drop os_mon from dependenciesJoan Touzet2020-04-285-6/+2
|
* Suppress offsetof gcc warnings for SM60Joan Touzet2020-04-281-1/+1
| | | | | | Mozilla did this years ago: https://hg.mozilla.org/mozilla-central/rev/41d9d32ab5a7
* View is partitioned if db and view are partitionedRobert Newson2020-04-271-10/+1
| | | | | | | We've seen a crash if DbPartitioned is false and ViewPartitioned is true, which is obviously nonsense. The effect of the `nocase` is the termination of the couch_index_server gen_server, which is a serious amplification of a small (user-initiated) oddity.
* Ensure python black runs on all .py files (#2827)Joan Touzet2020-04-272-4/+4
|
* python black cleanupJoan Touzet2020-04-271-7/+3
|
* Fix new JS test caseJoan Touzet2020-04-271-2/+3
|
* Replace broken u-escape sequencesPaul J. Davis2020-04-271-2/+104
|
* Incorporate changes from #2786Joan Touzet2020-04-279-597/+239
|
* First pass at SpiderMonkey 68 supportJoan Touzet2020-04-2712-37/+2107
|
* Fix couchjs utf8 conversions (#2786)Paul J. Davis2020-04-277-569/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove unused string conversion functions * Set UTF-8 encoding when compiling scripts * Encode JavaScript strings as UTF-8 for printing * Check that only strings are passed to print * Use builtin UTF-8 conversions in http.cpp * Add tests for couchjs UTF-8 support * Remove custom UTF-8 conversion functions We're now using 100% built-in functionality of SpiderMonkey to handle all UTF-8 conversions. * Report error messages at global scope Previously we weren't reporting any uncaught exceptions or compilation errors. This changes that to print any compilation errors or any uncaught exceptions with stack traces. The previous implementation of `couch_error` was attempting to call `String.replace` on the `stack` member string of the thrown exception. This likely never worked and attempting to fix I was unable to properly invoke the `String.replace` function. This changes the implementation to use the builtin stack formatting method instead. * Modernize sources to minimize changes for 68 These are a handful of changes that modernize various aspects of the couchjs 60 source files. Behaviorally they're all benign but will shorten the diff required for adding support for SpiderMonkey 68. Co-authored-by: Joan Touzet <wohali@apache.org>
* Merge pull request #2817 from apache/mango-bookmark-3.xRobert Newson2020-04-231-1/+1
|\ | | | | safer binary_to_term in mango_json_bookmark