summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fix operator issue with empty arrays (#2805)cherry-pick-mango-fixTony Sun2020-04-212-3/+25
| | | | | | | | | | | Previously, in https://github.com/apache/couchdb/pull/1783, the logic was wrong in relation to how certain operators interacted with empty arrays. We modify this logic to make it such that: {"foo":"bar", "bar":{"$in":[]}} and {"foo":"bar", "bar":{"$all":[]}} should return 0 results.
* Bump fauxton to v1.2.3 (#2515)3.x-fauxtonWill Holley2020-04-211-1/+1
| | | Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
* Update compaction progress during docid phasesPaul J. Davis2020-04-142-29/+99
| | | | | | | | | | | Previously the sort and copy phases when handling document IDs was not measured in _active_tasks. This adds size tracking to allow operators a way to measure progress during those phases. I'd like to thank Vitaly for the example in #1006 that showed a clean way for tracking the size info in `couch_emsort`. Co-Authored-By: Vitaly Goot <vitaly.goot@gmail.com>
* Optimize compactor to use multi-IO APIPaul J. Davis2020-04-141-21/+33
| | | | | | | | This updates couch_db_updater to use the new multi-IO API functions (append_terms/pread_terms) in couch_file. This optimization benefits us by no longer requiring the `couch_emsort:merge/1` step to copy `#full_doc_info{}` records multiple times while also not being penalized by signficantly increasing the number of calls through couch_file APIs.
* Optimize btree node writesPaul J. Davis2020-04-141-13/+15
| | | | | This uses the new couch_file:append_terms/2 function to write all chunks in a single write call.
* Add multi-append functions to couch_filePaul J. Davis2020-04-141-27/+135
| | | | | | | These functions allow the caller to append multiple terms or binaries to a file and receive the file position and size for each individual element. This is to optimize throughput in situations where we want to write multiple pieces of independant data.
* Implement compactor test suitePaul J. Davis2020-04-143-0/+464
|
* Simplify compaction state managementPaul J. Davis2020-04-141-42/+123
| | | | | | | This change adds a new `#comp_st{}` record that is used to pass compaction state through the various compaction steps. There are zero changes to the existing compaction logic. This merely sets the stage for adding our docid copy optimization.
* Port reduce_false.js and reduce_builtin.js to Elixir (#2541)Leonardo Pires2020-04-143-2/+334
| | | | Port reduce_false.js and reduce_builtin.js to Elixir
* Port recreate docs testJuanjo Rodriguez2020-04-143-1/+167
|
* Improve test initializationJuanjo Rodriguez2020-04-071-7/+8
|
* Port view_offset.js to elixir test suiteAlessio Biancalana2020-04-044-2/+128
|
* Merge pull request #2645 from danielbarbarito/users-db-security-editable-ini-fixRobert Newson2020-04-021-3/+3
| | | Move "users_db_security_editable" to the correct location in the ini file
* Merge pull request #2654 from apache/fix-filter-changes-feed-rewindsRobert Newson2020-04-021-1/+2
| | | Send correct seq values for filtered changes
* Merge pull request #2657 from apache/cookie-domain-deleteRobert Newson2020-04-022-2/+14
| | | Set cookie domain when DELETE'ing
* Merge pull request #2690 from apache/fix-create-db-optionsRussell Branca2020-04-027-21/+280
| | | Fix create db options on secondary shard creation
* Merge pull request #2742 from apache/backport-jwt-3.xRobert Newson2020-04-0219-1/+1385
|\ | | | | Backport jwt 3.x
| * Merge pull request #2732 from apache/jwt-controls-2Robert Newson2020-04-025-41/+72
| | | | | | Enhance JWT controls (again)
| * Merge pull request #2727 from apache/jwt-kty-checkRobert Newson2020-04-024-33/+134
| | | | | | Only trust the servers declaration of JWT key type
| * Merge pull request #2714 from atrauzzi/jwt-couchdb-specific-roles-claimRobert Newson2020-04-022-2/+3
| | | | | | | | Make the JWT roles claim more CouchDB specific
| * Merge pull request #2687 from apache/jwt-enhancementsRobert Newson2020-04-028-16/+300
| | | | | | Jwt enhancements
| * Feature - Add JWT support (#2648)Alexander Trauzzi2020-04-025-1/+80
| | | | | | | | | | | | Add JWT Authentication Handler Co-authored-by: Robert Newson <rnewson@apache.org> Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
| * Merge pull request #2668 from apache/jwtf-unknown-checksRobert Newson2020-04-022-0/+23
| | | | | | Throw if an unknown check is passed to jwtf:decode
| * Merge pull request #2661 from apache/jwtf-enhance-alg-checkRobert Newson2020-04-022-4/+15
| | | | | | Enhance alg check
| * Merge pull request #2658 from apache/import-jwtfRobert Newson2020-04-029-0/+854
|/ | | Import jwtf
* fix: require_valid_user exception logicJan Lehnardt2020-04-012-7/+141
| | | | Co-authored-by: Robert Newson <rnewson@apache.org>
* Do not copy the #server.lru field to async openersPaul J. Davis2020-03-311-1/+4
| | | | | | This copy slowed down the `erlang:spawn_link/3` call considerably. Measurements in the wild showed the cost of that `spawn_link/3` going from roughly 8 uS to 800 uS.
* Port view_pagination integration test to elixir test suiteAlessio Biancalana2020-03-253-1/+192
|
* Port purge.js into elixir test suiteJuanjo Rodriguez2020-03-253-2/+170
|
* Ensure clean PATH for Windows couchdb.cmd (#2710)Joan Touzet2020-03-231-1/+1
|
* Fix ported to elixir tagJuanjo Rodriguez2020-03-225-4/+5
|
* Port http, method_override and jsonp tests into elixir test suite (#2646)Juanjo Rodriguez2020-03-219-8/+267
|
* Update smoosh defaults, default.ini (#2679)Joan Touzet2020-03-202-10/+28
|
* Port design_docs tests from js to elixir (#2641)Juanjo Rodriguez2020-03-203-1/+482
|
* 3.x merge - Port elixir proxyauth tests from js to elixir (#2660)Juanjo Rodriguez2020-03-178-7/+203
| | | | | * Port elixir proxyauth tests from js to elixir (#2660) * Add support for specify a custom config file for CouchDB startup during testing
* Port _design_docs tests, design_options and design_paths from js to elixir ↵Juanjo Rodriguez2020-03-048-111/+431
| | | | | | (#2596) (#2628) * Port _design_docs tests from js to elixir * Port design_options and design_paths tests from js to elixir
* feat: add mac ci (#2622)Jan Lehnardt2020-03-021-0/+37
|
* Merge pull request #2615 from dottorblaster/port_form_submit_test_to_elixir_3xAlessio Biancalana2020-03-023-1/+32
|\ | | | | Port form submit test to elixir in 3.x branch
| * Mark form_submit JS test as ported in README and inside the test itselfAlessio Biancalana2020-02-282-1/+3
| |
| * Port form_submit.js test to ElixirAlessio Biancalana2020-02-281-0/+29
|/
* Handle race condition during concurrent db creationNick Vatamaniuc2020-02-282-0/+59
| | | | | | | | | | | | Previously concurrent db creation requests could get past db_exists/1 and try to create the shard document. The first one would succeed but the others would fail with a `500 {"error":"error", "reason":"conflict"}` error instead of `412`. Handle the race condition by checking if db exists after getting a conflict error and return a 412 response. Fixes: #2613
* Fix mem3_sync_event_listener testPaul J. Davis2020-02-271-1/+13
| | | | | | | | | | | | | There's a race between the meck:wait call in setup and killing the config_event process. Its possible that we could kill and restart the config_event process after meck:wait returns, but before gen_event:add_sup_handler is called. More likely, we could end up killing the config_event gen_event process before its fully handled the add_sup_handler message and linked the notifier pid. This avoids the race by waiting for config_event to return that it has processed the add_sup_handler message instead of relying on meck:wait for the subscription call.
* Bump to jiffy 1.0.4Paul J. Davis2020-02-271-1/+1
|
* Merge pull request #2593 from jjrodrig/3x-mergeJuanjo Rodriguez2020-02-253-19/+973
|\ | | | | Port changes.js test suite into elixir (sync with master)
| * Port changes.js test suite into elixirJuanjo Rodriguez2020-02-223-19/+973
|/
* fix: show single node on setup status with single_node=trueJan Lehnardt2020-02-201-15/+21
|
* Revert "fix: single node state (#2574)"Jan Lehnardt2020-02-201-7/+5
| | | | This reverts commit afef1b2f5823f6269ecb4a845e286e9d0c0f4f35.
* feat(breaking): make _all_dbs admin-only by default (#2576)Jan Lehnardt2020-02-192-2/+2
|
* bump 3.x docs to actual 3.0.0 tagJoan Touzet2020-02-191-1/+1
|
* fix: single node state (#2574) (#2578)Joan Touzet2020-02-191-5/+7
| | | | Co-authored-by: Jan Lehnardt <jan@apache.org>