This is an automated email from the ASF dual-hosted git repository. rnewson pushed a change to branch import-nouveau in repository https://gitbox.apache.org/repos/asf/couchdb.git
discard e3d9b15f2 add missing empty lines at end discard e76260da6 improve After.toString() discard 83265fa4d move java/nouveau to nouveau discard 0901a0203 remove nouveau GH actions discard ef5a6fb25 enable/disable nouveau automatically discard 0b770f332 Incorporate nouveau into main makefile and dev/run targets discard 8bd664053 move delete-on-close logic to Index discard 10052a936 remove unused method discard 88aa55915 always attempt the rollback discard 76934d1a8 check for non-null discard fca6767b6 fix resource leak discard 9801f6484 use TempDir correctly? discard 20ec905f9 cope with Powershell discard 55df2fd92 skip any tests that uses files on Windows because it is shit discard bb989d7b6 add range test discard 470fc92be add test for count facet, and fix lucene 4 implementation discard 49516ebb0 Add mechanism to optionally exclude slow tests discard 7c6a0aefc clouseau-compatible tolerance for counts on non-facet field discard 18a893c34 simplify hit fields, match clouseau style discard b525fd56b fix warning, though try to remember to implement limit later discard f0f702d2c add IndexableFieldSerializer in Lucene9Module discard 10af8370c configure clouseau in dev/run for side-by-side testing discard cc4ca8bb7 Lucene 4 doesn't return StoredFields in search results discard b04b10255 delete empty directories when deleting indexes discard 499c3332b port simple_asciifolding contribution from https://github.com/cloudant-labs/clouseau/pull/39 discard ff1a58bc7 convert hits to rows at http level for compat discard 45d1b78fb introduce a preunload for the expensive index commit discard ea6c433c1 remove unused resources discard 17c24608f timing metrics for cache lock acquisition discard 182ab88d9 config moved to base discard 2369df63c fix delete index paths discard 334d965d7 index health check discard d030e4370 reintroduce a health check discard dc47c3ab6 skip tests when doing nouveau-start discard fc7f26b21 optimise Cache.remove for case where entry doesn't exist omit fe1f7f0f8 remove unused dependency omit f368b520a improve makefile omit 1c55f6b43 fix README.md example code omit 0c807cad4 more test work omit af03f1b25 fix some warnings omit 01790c07e some simple tests omit 32b94377e index testing framework omit 48ac91e3f move application config to base project to tighten type safety omit 84407be4d fix warnings omit 7279b2a0e some light javadoc omit 523ab0eef clouseau generated index for compatibility tests omit 289f5d9c6 close idle indexes omit 964f83294 periodic commit, beginning of idle checker omit 2cfca592b IndexCache -> Cache omit 9657f8fba bug omit 0c640ac9d ergonomic default for lock count omit 80c192386 Striped lock index cache omit de96f94ba add metric for cache size omit 8f1ea05c0 configurable lock count for IndexManager omit 53f4adefa move all resource annotations to subclass omit 1e0d5750d Query ser/deser beginnings omit 26dd28d22 support legacy facet approach omit dd15d3d2d remove unused lucene dependencies omit 845f8ae9f fix analyzer endpoints omit 8423c9dc7 Reorganise to cleanly support lucene major release differences omit 65cf09cd9 enable-preview not needed omit 4c8b570d0 upgrade to dropwizard 2.1.5 omit fed32694b query is no longer a reserved keyword omit 5b2b099f7 Close indexes when idle omit 50d36a838 extract functions into variables omit 085d2e668 improve locking, close a gap omit 1757e5b73 do less while holding the cache lock omit b793c4434 demeter omit 495adaa98 fix deleteIndex omit 6ffdd44da evict asynchronously omit cb7637761 add note on objectLocks omit c760c5c30 configure ibrowse pipeline size also omit 3cc5b2e71 print peer port in http log omit 9dd2e2216 lower to debug omit 437a43327 improve makefile omit 75d2a213e Replace Caffeine with custom index cache omit 699311f47 re-add evictionListener (so index close is synchronous with eviction) omit 19c93cd1b reduce open log to debug omit 287d098d1 Include java 19 specific code from Lucene omit babb2472e make it easy (but slow) to be sure you have the latest nouveau libs installed omit d169e5738 total_hits_relation doesn't exist in lucene 4 omit d12140f43 Simplify conversion of stored fields omit 7d67353bb make it clear when lucene index is in use for debugging omit 87089ab6f oops omit 17324b05b support DoubleField in lucene 9.5.0, shortcircuit on match omit 61f0bb4e8 Support Lucene 4 WIP omit 8cc2b4b8e reintroduce versioning from erlang side omit 7746cabe6 merge SearchResource into IndexResource omit 67f62bbf9 more fixes for nouveau-start and validation omit 6b222f4c5 upgrade to Lucene 9.5.0 omit 684eff562 remove junk from dist.xml omit 74f7552a7 fix nouveau-start omit 88f73580a load lucene indirectly omit 06c4561d9 remove unnecessary QueryParser abstraction omit 05680cf45 remove lucene9 IOUtils.rm usage omit 3e594506e immutable field classes omit 9a2a0218e try to fix some of the nouveau CI omit 37b5de28e further narrow lucene version-specific exposure behind Lucene abstraction omit 3814a6c5d use shaded versions of lucene 9 omit f9e899e1f remove ugly attempt at versioning omit f549562b5 created shaded lucene jars omit a807e2d07 use enum with supplier in AnalyzerFactory omit 7a2441ce0 our own abstraction of DoubleRange omit 0f07f6fda remove unused imports omit 39788fcd3 Introduce our own abstraction of FieldDoc omit eb7826136 update path for gh workflows omit 411c6df6b enable preview so mmapdirectory works better on 19+ omit 3561615ce Introduce our own Field abstraction omit 87ce28248 remove scm junk omit d85cf2e03 flatten TotalHits to two fields omit 3da81f313 Isolate Lucene behind Index facade omit 574791073 ignore asdf metafile omit 4ddc5a263 move nouveau into server subdir omit 46e58e91d remove SuppressWarnings junk omit d337b7aed bind nouveau to localhost only by default omit 3d71a5604 typo omit a677cb4e1 Make lucene version of index part of definition and signature omit c64f9d32c ignore other config changes omit ed7669ada don't fall through case statement omit dda872c2c fix search executor thread name format omit 672db9a37 afterburner is registered automatically by dropwizard omit a481e1a0d ditch bundled jar approach omit a4afe5364 fix metrics omit dc5a285b1 adjust github workflows for nouveau omit 05f42060c Import nouveau java application omit ca86f8695 Import nouveau erlang application add 33a5be503 Fix flaky checkpointing smoosh test add 5910faadc Fix a few more flaky smoosh tests add e02613e01 Add note on how to configure replicaton backoff (#4299) add 641586116 Fix rendering of inline literal with withespaces (#4301) add 99a8f666c fix(3517): super-simplistic fix to avoid costly AST transforms when t… (#4292) add 7ef834d27 docs: add 3.3.0 relese notes add be1d36a01 Update Sphinx to 5.3.0 add ebd7ce2e9 Show version of spidermonkey runtime in couchjs (#4262) add 23a2d85e5 Update 3.3 release notes. add 9ac1b95fa Bump Fauxton to v1.2.9 add fb76d3756 Bump version to 3.3.0 add 8d4c62ed3 Ensure we use the chttpd vs httpd section in fix_uri add 16807eca2 Return back to allowing offline configure and make release add bfd8d55b3 Revert jiffy to CouchDB-1.0.9-2 to unblock the 3.3 release add b5da5b66b Reuse installed rebar and rebar3 for mix add 783c54e3a Write relax-message to standard output on Windows (#4317) add e6b1be700 Ignore built win binaries (#4323) add 088cb3ffe Move elixir source checks to a separate step add 1c214267c Ignore built win binaries 2 (#4329) add 9aee170be Fix {eaddrnotavail} in elixir tests under Windows add ab33d84b2 Fix full CI build add 4d56d354c Update release notes for 3.3.0-RC2 add f6ddbe24c Fix documentation to reflect default_security change add 8d1479d68 Update Erlang versions add f439d4ec2 Update PR template (#4338) add 2c1ca1116 fix undef when parsing replication doc body add 8e47e7161 Merge pull request #4343 from apache/fix-undef-replication-body-parse add f8d489f31 Add test coverage for replicator user_ctx parser add d524ddb4f add find_bugs makefile target for undefined functions add 33ee2164e Merge pull request #4346 from apache/find_bugs add 3cc22f4a8 feat: remove failed couch_plugins experiment add 33d9a841b fix: undefined function warning add 4048b567c update version numbers to 3.3.1 add ac70fc05b doc(whatsnew): document 3.3.1 updates add 0d29e16e6 Fix Ubuntu Jammy CI image reference add a840dc9a8 Fix replication job start_link. add 108103390 fix: debuggng leftover, speed up local rebar clones add c7c6785dc Add Prometheus port to Windows couchdb.config (#4356) add 3125bfd3c [DOC] Update required Erlang OTP versions (#4357) add ca791828c Escape special (html) chars in section names (#4350) add fb3517936 Fix handling forbidden exceptions from workers in fabric_doc_update add 3421b8273 Wait for dbs_info 500 timeout error add b5693fd7e Elixir >= 1.14 doesn't support rebar2 - Remove initialization add 9a92fbbe3 Remove Spidermonkey 1.8.5 add 1c43d0289 Fixes 9a92fbb - Set default version of Spidermonkey to 91 (#4367) add b3b57e445 Fix replication _scheduler/docs total_rows add 01c161b35 Delete unused include_lib attributes add a14922fad Ensure design docs are uploaded individually when replicating with _bulk_get add dad51b5b8 Set the SpiderMonkey version for the first phase of PR builds add aff7a6e71 docs(mango): match description of `$mod` with reality add bcfaa82c3 Merge pull request #4379 from pgj/mango-doc-fix add deb8ef271 Adding build-report makefile target on Windows (#4384) add 4b2d3dc62 Bump recon to 2.5.3 add 3b6ebdeb3 ci(mac): re-enable mac CI for the full build add 5f2d5b135 Show mango_selector:match/2 call using test add 00e24b0df Push down field projection in mango to shard add 3181d928e Allow to run only specific EUnit tests on Windows (#4399) add 262e4d161 Enforce docs ids _changes filter optimization limit add e5f6c581b Docs: Fix example code in Partitioned Databases add f11491568 return 503 immediately if search is not available add 88ebc65c0 Merge pull request #4404 from apache/503-if-search-not-available add 9536b9796 chore(configure): be more defensive about SpiderMonkey location add 576ab21c6 Unify style of `if` blocks add 23efd8e5b Port the SpiderMonkey check to Windows add a7551aac2 docs(INSTALL.Unix): update instructions add 832f58a7a Employ `make python-black-update` add 1eef73952 Remove json2 JS script and the try except around seal add 80b68a053 Use pip3 instead of pip in docs setup add 0fa595531 Allow _local doc writes to the replicator dbs add bf0903087 Remove all javascript tests add 0a49ffcda Convert ExUnit tests back to EUnit add a73388452 Disable execution of ExUnit tests add c79d82f10 Fix Dreyfus Elixir test suite add 4185bc094 Document the `dreyfus-test` `make` target add 8bc485d9b Improve directory structure for Dreyfus EUnit tests add f4311014f Stop citing the JavaScript integration tests add 8a6c3bce2 Update the list of the available test suite types add 0867d1b21 Reorder top-level smoosh-settings to the correct section (#4420) add d3b0bcbf3 Test the update_docs=true case in replicator scheduler docs test add 58e5825c6 mango: Remove unused imports add b08dc7ac7 mango: Remove unused parameter from the JSON index selection add 1c90b504a mango: Add type specification for the JSON index selection add a650b4461 mango: Cover JSON index selection with unit tests add 3fa8f72ac mango: Match comments with implementation for JSON index selection add 97fdac3af mango: Fix specification of `choose_best_index/1` add 395c08302 Move elixir search tests to be with other elixir tests add 50dd63176 Chase rename of `dreyfus-test` to `elixir-search` in documentation add df0699a60 Clean up `make help` output add 065b86fab Remove the inactive uploader action from `build-report` add 0feedb66f Fix the `list-eunit-apps` target add 9b86e7130 Overhaul the Windows Makefile add 645912d0c Fix typo add 9f8cf48e9 docs/api: use {params} consistently in titles (#4426) add b38885114 Allow definition of JWT roles claim as comma-seperated list (#4431) add c866b488d Unifying the notation of dynamic parameters in the docs (#4436) add f7cafa30a Fix typo in "feature_flags" section comment (#4433) add b3890b5d3 Fix and extend developer instructions add 9cde18150 mango: skip the `$keymapMatch` test for text indexes add 1278cf19f mango: switch to UTF-8 encoding for every test add 187d9337e Consolidate Mango integration tests add ae3d2971e Upgrade hash algorithm for proxy auth (#4438) add 9c1278dbc Show ini code-block correctly (#4440) add cc674a85e Unifying the notation of dynamic parameters in the docs 2 (#4441) add 301797c56 Update Erlang 24 for CI add 7a2705ac6 hide shard-sync and purge documents from `_local_docs` add b702a5edf inspect the document more precisely to avoid skipping user docs add 8f519ba04 add tests to cover hiding resp showing system docs add ac600d1bb add a notice that purge documents are only visible with `include_system=true` add 4df37bc8c Update last_check in file logger record add f677dd5e8 Use persistent terms for features add 54879f9a5 This enables configuring FIPS mode at runtime without the need for a custom build. add c0b8839bf Only allow POST request for /{db}/_view_cleanup (#4449) add b8abb4aad Fix bad prometheus section name add 7ec5f645f Fix flaky LRU test add 6e9834564 Fix flaky elixir users_db_tests add 5aed161e9 Remove duplicate parts of doc note (#4455) add 0db915475 Documentation: Add `adm:pass` to replication endpoint URL (#4457) add 0c49292a8 Improve documentation of source code format checks add edded9618 Tweak formatting and style of `_find` API documentation (#4460) add 774acb85d Fix erlfmt-format on Windows (#4463) add 8ec7b5788 Bump snappy to CouchDB-1.0.9 (#4464) add f40147b26 mango: correct text index selection for queries with `$regex` (#4458) add bd1d8dc8b Modify conflict ruby example add 5b5a1c2de Remove stale links from documentation comments add dff01446c Prepare for Erlang OTP/26 (#4465) add 138163147 fix: remove duplicate couchdb_erlang* from _prometheus add 6d7cfe892 Avoid re-compiling filter view functions add 5cdc0aa1b Fix list ordering and indentation in "Search" docs (#4476) add 0aedd9384 fix: prometheus counter metric naming (#4474) add b9762479f Improve couch_js_tests add a25336f91 Migrate configure settings to Windows (#4479) add bb0f37bf0 feat: add type and descriptions to prometheus output (#4475) add 8c0a177c7 docs(typo): Fix server name duplicate (#4484) add 937ccb6ef catch and log any error from mem3:local_shards add 2c129d167 Merge pull request #4485 from apache/couch_index_crashes add 1df0f4f40 Bump Erlang 24 and 25 in CI add 189db657f fix(doc): reverse definition of `all_nodes` and `cluster_nodes` to match reality add 65ad03c0f Revert "catch and log any error from mem3:local_shards" add 451d4bdd6 log the original stack trace if Mod:Func throws add f82d96173 don't crash in handle_db_event add 224d6764e track index pids during open and don't crash if they do add 0073e764b Merge pull request #4491 from apache/couch_index_fixes add 09dca4e5b Suppress sasl_error_logger output on Windows (#4492) add 27af79c4a Add log directory to eunit setup template (#4493) add 07c1433d3 eunit test to assert ddoc_updated clause doesn't throw add 3f0d86f99 Increase index crash test cover a bit add 35b1adc48 Merge pull request #4495 from apache/add_db_event_crash_test add 15dca9210 Import nouveau erlang application add 3afd180eb Import nouveau java application add 8d0caf47b adjust github workflows for nouveau add 6250ce427 fix metrics add 9932b9bfd ditch bundled jar approach add 415a2ffec afterburner is registered automatically by dropwizard add a11967e82 fix search executor thread name format add 5c03a8227 don't fall through case statement add d1d02cbc7 ignore other config changes add d276fda2f Make lucene version of index part of definition and signature add 5f7b8470f typo add 4802b65d0 bind nouveau to localhost only by default add 03f453584 remove SuppressWarnings junk add a628c6182 move nouveau into server subdir add 907bf67a8 ignore asdf metafile add a921f329e Isolate Lucene behind Index facade add a7634a6b4 flatten TotalHits to two fields add 7853f4533 remove scm junk add a3b47a5cc Introduce our own Field abstraction add 81ce27f1e enable preview so mmapdirectory works better on 19+ add f75d34ce4 update path for gh workflows add 1449ff917 Introduce our own abstraction of FieldDoc add 0a9c1f94f remove unused imports add 50f28d785 our own abstraction of DoubleRange add 25a429a88 use enum with supplier in AnalyzerFactory add d43d74c3a created shaded lucene jars add 8c085c513 remove ugly attempt at versioning add e2d11c216 use shaded versions of lucene 9 add eae529556 further narrow lucene version-specific exposure behind Lucene abstraction add 373174b94 try to fix some of the nouveau CI add 8b2e77df3 immutable field classes add e67888b6e remove lucene9 IOUtils.rm usage add 206c57d2b remove unnecessary QueryParser abstraction add 36c960ee8 load lucene indirectly add 83050b09d fix nouveau-start add 852a75b6e remove junk from dist.xml add 9c542576f upgrade to Lucene 9.5.0 add 90749660f more fixes for nouveau-start and validation add d39128e52 merge SearchResource into IndexResource add af5dac6bd reintroduce versioning from erlang side add 3692178a5 Support Lucene 4 WIP add c479e02b4 support DoubleField in lucene 9.5.0, shortcircuit on match add d979c3346 oops add c02da9749 make it clear when lucene index is in use for debugging add 5affd2f5e Simplify conversion of stored fields add 44cd08bbd total_hits_relation doesn't exist in lucene 4 add 4c16815d7 make it easy (but slow) to be sure you have the latest nouveau libs installed add ddbd6f829 Include java 19 specific code from Lucene add f9686195b reduce open log to debug add 1ce842b4b re-add evictionListener (so index close is synchronous with eviction) add e36f27270 Replace Caffeine with custom index cache add cbefd2566 improve makefile add 61b34dcd1 lower to debug add 92a9ef3e3 print peer port in http log add 556d36f51 configure ibrowse pipeline size also add 998baf917 add note on objectLocks add e115956fc evict asynchronously add 9b38c23de fix deleteIndex add 8eddf45d8 demeter add 41588a887 do less while holding the cache lock add 9f149542e improve locking, close a gap add 9b259ef58 extract functions into variables add 8eef30aad Close indexes when idle add 9c7e8834d query is no longer a reserved keyword add 604223fd7 upgrade to dropwizard 2.1.5 add 3172795f0 enable-preview not needed add 33b5a43e6 Reorganise to cleanly support lucene major release differences add ef2898fa6 fix analyzer endpoints add ecf97c3d5 remove unused lucene dependencies add e7a393379 support legacy facet approach add 82a2cb9ac Query ser/deser beginnings add a13225eb5 move all resource annotations to subclass add 321baf421 configurable lock count for IndexManager add 1be168a16 add metric for cache size add 5f6cb68c9 Striped lock index cache add 1e4a0176c ergonomic default for lock count add e5bb41268 bug add d9732e0e8 IndexCache -> Cache add f7bcc89bb periodic commit, beginning of idle checker add 96ebd710d close idle indexes add c823774ae clouseau generated index for compatibility tests add 30e24f9f2 some light javadoc add 06b4ff64f fix warnings add 107882449 move application config to base project to tighten type safety add 9951f5b72 index testing framework add 3545e5857 some simple tests add 9c55ed676 fix some warnings add 6d2052e46 more test work add 199fc0daa fix README.md example code add a97c20201 improve makefile add 287e0188a remove unused dependency add 74e233e19 optimise Cache.remove for case where entry doesn't exist add c55322486 skip tests when doing nouveau-start add 1aa88f57f reintroduce a health check add 8202f0dce index health check add 2d5b4f8e6 fix delete index paths add e70808a7d config moved to base add 593a25622 timing metrics for cache lock acquisition add 7a02b95f3 remove unused resources add 19dd8f8e9 introduce a preunload for the expensive index commit add 0931b2e4a convert hits to rows at http level for compat add b0f0110dc port simple_asciifolding contribution from https://github.com/cloudant-labs/clouseau/pull/39 add 7c4f43a44 delete empty directories when deleting indexes add e866f2420 Lucene 4 doesn't return StoredFields in search results add 14aa8005a configure clouseau in dev/run for side-by-side testing add 44490d91d add IndexableFieldSerializer in Lucene9Module add d776380a8 fix warning, though try to remember to implement limit later add 716d3940b simplify hit fields, match clouseau style add 83ce70669 clouseau-compatible tolerance for counts on non-facet field add 903fc7949 Add mechanism to optionally exclude slow tests add 2fc4101a1 add test for count facet, and fix lucene 4 implementation add 422fe3a2a add range test add a9de3be38 skip any tests that uses files on Windows because it is shit add 276ba399e cope with Powershell add edaa6c46d use TempDir correctly? add b3208d2a2 fix resource leak add 44e420a97 check for non-null add ee57bbf67 always attempt the rollback add 7e182003a remove unused method add d61342a64 move delete-on-close logic to Index add e56ccd116 Incorporate nouveau into main makefile and dev/run targets add 25a203dce enable/disable nouveau automatically add 8612e7b31 remove nouveau GH actions add 2b33476f7 move java/nouveau to nouveau add 33a730ad0 improve After.toString() add 1b4e2f9a8 add missing empty lines at end This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (e3d9b15f2) \ N -- N -- N refs/heads/import-nouveau (1b4e2f9a8) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .github/PULL_REQUEST_TEMPLATE.md | 5 +- .gitignore | 5 + INSTALL.Unix.md | 38 +- Makefile | 71 ++- Makefile.win | 99 +++- README-DEV.rst | 139 +++-- build-aux/Jenkinsfile.full | 19 +- build-aux/Jenkinsfile.pr | 10 +- build-aux/couchdb-build-release.sh | 2 + build-aux/show-test-results.py | 4 +- configure | 33 +- configure.ps1 | 29 +- dev/format_lib.py | 4 +- dev/run | 2 - mix.exs | 12 +- rebar.config.script | 12 +- rel/files/eunit.ini | 4 +- rel/overlay/etc/default.ini | 31 +- rel/overlay/etc/vm.args | 11 + rel/plugins/eunit_plugin.erl | 4 +- rel/reltool.config | 5 +- setup_eunit.template | 3 +- share/server/60/rewrite_fun.js | 5 +- .../{rewrite_fun.js => rewrite_fun_ast_bypass.js} | 11 +- share/server/filter.js | 5 - share/server/json2.js | 482 --------------- share/server/loop.js | 5 +- share/server/state.js | 2 +- share/server/util.js | 12 +- src/chttpd/src/chttpd.erl | 2 +- src/chttpd/src/chttpd_db.erl | 15 +- src/chttpd/test/eunit/chttpd_auth_tests.erl | 87 +++ src/chttpd/test/eunit/chttpd_changes_test.erl | 656 +++++++++++++++++++++ src/chttpd/test/eunit/chttpd_dbs_info_test.erl | 23 +- src/chttpd/test/eunit/chttpd_local_docs_tests.erl | 198 +++++++ src/config/src/config.erl | 42 +- src/config/test/config_tests.erl | 6 + src/couch/priv/couch_js/86/help.h | 5 +- src/couch/priv/couch_js/86/util.cpp | 23 + src/couch/priv/couch_js/86/util.h | 2 + src/couch/rebar.config.script | 7 +- src/couch/src/couch.app.src | 3 +- src/couch/src/couch_changes.erl | 20 +- src/couch/src/couch_hash.erl | 30 +- src/couch/src/couch_httpd_auth.erl | 24 +- src/couch/src/couch_server.erl | 8 - src/couch/src/test_util.erl | 6 + src/couch/test/eunit/couch_compress_tests.erl | 128 ++++ src/couch/test/eunit/couch_hash_test.erl | 52 ++ src/couch/test/eunit/couch_js_tests.erl | 171 ++++-- src/couch/test/eunit/same_site_cookie_tests.erl | 88 +++ src/couch/test/exunit/couch_compress_tests.exs | 113 ---- src/couch/test/exunit/same_site_cookie_tests.exs | 44 -- src/couch/test/exunit/test_helper.exs | 2 - src/couch_event/src/couch_event_listener_mfa.erl | 25 +- src/couch_index/src/couch_index_server.erl | 150 +++-- .../test/eunit/couch_index_crash_tests.erl | 233 ++++++++ .../test/eunit/couch_index_ddoc_updated_tests.erl | 3 +- src/couch_log/src/couch_log_writer_file.erl | 7 +- src/couch_mrview/src/couch_mrview.erl | 84 ++- src/couch_plugins/LICENSE | 202 ------- src/couch_plugins/Makefile.am | 40 -- src/couch_plugins/README.md | 159 ----- src/couch_plugins/src/couch_plugins.app.src | 22 - src/couch_plugins/src/couch_plugins.erl | 322 ---------- src/couch_plugins/src/couch_plugins_httpd.erl | 69 --- .../src/couch_prometheus_server.erl | 86 ++- src/couch_prometheus/src/couch_prometheus_util.erl | 161 ++++- .../test/eunit/couch_prometheus_e2e_tests.erl | 20 +- .../test/eunit/couch_prometheus_util_tests.erl | 70 --- src/couch_replicator/src/couch_replicator_docs.erl | 2 + .../src/couch_replicator_httpd_util.erl | 8 +- .../src/couch_replicator_parse.erl | 9 +- .../src/couch_replicator_scheduler_job.erl | 2 +- .../src/couch_replicator_worker.erl | 22 +- .../test/eunit/couch_replicator_bulk_get_tests.erl | 79 ++- ...ests.erl => couch_replicator_doc_ids_tests.erl} | 50 +- .../couch_replicator_error_reporting_tests.erl | 25 + .../couch_replicator_scheduler_docs_tests.erl | 261 ++++++++ .../test/eunit/couch_replicator_test_helper.erl | 12 +- src/docs/README.md | 4 +- src/docs/ext/configdomain.py | 7 +- src/docs/images/tea-erl-grey-hot-replicator.png | Bin 0 -> 198055 bytes src/docs/requirements.txt | 3 +- src/docs/setup.sh | 4 +- src/docs/src/api/database/bulk-api.rst | 4 +- src/docs/src/api/database/changes.rst | 6 +- src/docs/src/api/database/common.rst | 6 +- src/docs/src/api/database/compact.rst | 24 +- src/docs/src/api/database/find.rst | 202 ++++--- src/docs/src/api/database/index.rst | 4 +- src/docs/src/api/database/misc.rst | 26 +- src/docs/src/api/database/security.rst | 6 +- src/docs/src/api/database/shard.rst | 14 +- src/docs/src/api/ddoc/common.rst | 18 +- src/docs/src/api/ddoc/render.rst | 36 +- src/docs/src/api/ddoc/rewrites.rst | 2 +- src/docs/src/api/ddoc/search.rst | 12 +- src/docs/src/api/ddoc/views.rst | 6 +- src/docs/src/api/document/attachments.rst | 6 +- src/docs/src/api/document/common.rst | 6 +- src/docs/src/api/local.rst | 24 +- src/docs/src/api/partitioned-dbs.rst | 28 +- src/docs/src/api/server/authn.rst | 45 +- src/docs/src/api/server/common.rst | 4 +- src/docs/src/best-practices/reverse-proxies.rst | 2 +- src/docs/src/cluster/purging.rst | 8 +- src/docs/src/conf.py | 4 +- src/docs/src/config/auth.rst | 20 +- src/docs/src/config/compaction.rst | 2 +- src/docs/src/config/couch-peruser.rst | 2 +- src/docs/src/config/query-servers.rst | 13 + src/docs/src/config/replicator.rst | 4 +- src/docs/src/ddocs/search.rst | 90 ++- src/docs/src/install/unix.rst | 2 +- src/docs/src/intro/api.rst | 43 +- src/docs/src/intro/curl.rst | 3 +- src/docs/src/intro/security.rst | 16 +- src/docs/src/maintenance/compaction.rst | 2 +- src/docs/src/partitioned-dbs/index.rst | 6 +- src/docs/src/replication/conflicts.rst | 107 ++-- src/docs/src/replication/replicator.rst | 76 +-- src/docs/src/setup/cluster.rst | 2 +- src/docs/src/whatsnew/0.11.rst | 2 +- src/docs/src/whatsnew/2.3.rst | 4 +- src/docs/src/whatsnew/3.2.rst | 2 +- src/docs/src/whatsnew/3.3.rst | 429 ++++++++++++++ src/docs/src/whatsnew/index.rst | 1 + src/dreyfus/src/dreyfus_httpd.erl | 13 + src/dreyfus/test/elixir/mix.exs | 30 - src/dreyfus/test/elixir/mix.lock | 5 - src/dreyfus/test/elixir/run | 4 - src/dreyfus/test/elixir/test/test_helper.exs | 4 - .../{ => eunit}/dreyfus_blacklist_await_test.erl | 0 .../{ => eunit}/dreyfus_blacklist_request_test.erl | 0 .../test/{ => eunit}/dreyfus_config_test.erl | 0 .../test/{ => eunit}/dreyfus_purge_test.erl | 0 src/dreyfus/test/{ => eunit}/dreyfus_test_util.erl | 0 src/ets_lru/test/ets_lru_test.erl | 6 + src/fabric/src/fabric.erl | 7 +- src/fabric/src/fabric_doc_update.erl | 20 +- src/fabric/src/fabric_rpc.erl | 41 +- src/fabric/src/fabric_util.erl | 1 - src/mango/README.md | 2 +- src/mango/src/mango.hrl | 10 + src/mango/src/mango_cursor_special.erl | 4 +- src/mango/src/mango_cursor_view.erl | 272 ++++++++- src/mango/src/mango_idx_text.erl | 137 ++++- src/mango/src/mango_selector.erl | 25 + src/mango/src/mango_selector_text.erl | 451 +++++++++++++- src/mango/test/02-basic-find-test.py | 1 - src/mango/test/03-operator-test.py | 4 + src/mango/test/04-key-tests.py | 1 - src/mango/test/05-index-selection-test.py | 25 + src/mango/test/06-text-default-field-test.py | 3 - src/mango/test/07-text-custom-field-list-test.py | 2 - src/mango/test/13-users-db-find-test.py | 1 - src/mango/test/16-index-selectors-test.py | 59 +- src/mango/test/README.md | 29 - src/mango/test/mango.py | 44 +- src/mango/test/user_docs.py | 3 +- src/rexi/src/rexi_server.erl | 3 - src/smoosh/operator_guide.md | 4 +- src/smoosh/test/smoosh_tests.erl | 133 +++-- src/weatherreport/src/weatherreport_check_ioq.erl | 9 +- support/build_js.escript | 17 +- test/elixir/lib/couch/dbtest.ex | 16 +- test/elixir/test/config/search.elixir | 32 + test/elixir/test/config/test-config.ini | 3 + test/elixir/test/jwt_roles_claim_test.exs | 40 +- .../elixir/test/partition_search_test.exs | 0 .../test => test}/elixir/test/search_test.exs | 0 test/elixir/test/security_validation_test.exs | 2 +- test/elixir/test/users_db_test.exs | 8 +- test/javascript/tests/list_views.js | 502 ---------------- test/javascript/tests/proxyauth.js | 137 ----- test/javascript/tests/replicator_db_bad_rep_id.js | 103 ---- test/javascript/tests/replicator_db_by_doc_id.js | 128 ---- test/javascript/tests/rewrite.js | 513 ---------------- test/javascript/tests/rewrite_js.js | 366 ------------ test/javascript/tests/security_validation.js | 330 ----------- test/javascript/tests/show_documents.js | 376 ------------ test/javascript/tests/users_db_security.js | 418 ------------- version.mk | 4 +- 184 files changed, 5034 insertions(+), 5593 deletions(-) copy share/server/60/{rewrite_fun.js => rewrite_fun_ast_bypass.js} (88%) delete mode 100644 share/server/json2.js create mode 100644 src/chttpd/test/eunit/chttpd_changes_test.erl create mode 100644 src/chttpd/test/eunit/chttpd_local_docs_tests.erl create mode 100644 src/couch/test/eunit/couch_compress_tests.erl create mode 100644 src/couch/test/eunit/couch_hash_test.erl create mode 100644 src/couch/test/eunit/same_site_cookie_tests.erl delete mode 100644 src/couch/test/exunit/couch_compress_tests.exs delete mode 100644 src/couch/test/exunit/same_site_cookie_tests.exs delete mode 100644 src/couch/test/exunit/test_helper.exs create mode 100644 src/couch_index/test/eunit/couch_index_crash_tests.erl delete mode 100644 src/couch_plugins/LICENSE delete mode 100644 src/couch_plugins/Makefile.am delete mode 100644 src/couch_plugins/README.md delete mode 100644 src/couch_plugins/src/couch_plugins.app.src delete mode 100644 src/couch_plugins/src/couch_plugins.erl delete mode 100644 src/couch_plugins/src/couch_plugins_httpd.erl delete mode 100644 src/couch_prometheus/test/eunit/couch_prometheus_util_tests.erl copy src/couch_replicator/test/eunit/{couch_replicator_selector_tests.erl => couch_replicator_doc_ids_tests.erl} (67%) create mode 100644 src/couch_replicator/test/eunit/couch_replicator_scheduler_docs_tests.erl create mode 100644 src/docs/images/tea-erl-grey-hot-replicator.png create mode 100644 src/docs/src/whatsnew/3.3.rst delete mode 100644 src/dreyfus/test/elixir/mix.exs delete mode 100644 src/dreyfus/test/elixir/mix.lock delete mode 100755 src/dreyfus/test/elixir/run delete mode 100644 src/dreyfus/test/elixir/test/test_helper.exs rename src/dreyfus/test/{ => eunit}/dreyfus_blacklist_await_test.erl (100%) rename src/dreyfus/test/{ => eunit}/dreyfus_blacklist_request_test.erl (100%) rename src/dreyfus/test/{ => eunit}/dreyfus_config_test.erl (100%) rename src/dreyfus/test/{ => eunit}/dreyfus_purge_test.erl (100%) rename src/dreyfus/test/{ => eunit}/dreyfus_test_util.erl (100%) delete mode 100644 src/mango/test/README.md create mode 100644 test/elixir/test/config/search.elixir rename {src/dreyfus/test => test}/elixir/test/partition_search_test.exs (100%) rename {src/dreyfus/test => test}/elixir/test/search_test.exs (100%) delete mode 100644 test/javascript/tests/list_views.js delete mode 100644 test/javascript/tests/proxyauth.js delete mode 100644 test/javascript/tests/replicator_db_bad_rep_id.js delete mode 100644 test/javascript/tests/replicator_db_by_doc_id.js delete mode 100644 test/javascript/tests/rewrite.js delete mode 100644 test/javascript/tests/rewrite_js.js delete mode 100644 test/javascript/tests/security_validation.js delete mode 100644 test/javascript/tests/show_documents.js delete mode 100644 test/javascript/tests/users_db_security.js
