This is an automated email from the ASF dual-hosted git repository.
jan pushed a change to branch feat/dev-with-uri-file
in repository https://gitbox.apache.org/repos/asf/couchdb.git
discard e906be82b feat(dev/run): write couch_uri files so ports are
discoverable with --auto-ports option
add f6184dc06 Handle timeout in `dreyfus_fabric_search:go`
add 34f9ff8e1 Fix props caching in mem3
add d76933015 QuickJS Update
add a47f9b33c Fix `case_clause` when got `missing_target` error
add 12b40b8f1 Remove `erlang:` prefix from `erlang:error()`
add 811fbf5d0 Remove explicit erlang module prefix for auto-imported
functions
add 51d80ca2b Add assert comments to search related elixir tests
add d337a6472 Implement 'assert_on_status' macro
add d09926d46 Merge pull request #5692 from
apache/add-assert-messages-to-search-elixir-tests
add 32a4b60eb More QuickJS Optimization
add 01e197a37 change deleted_document_ttl to match scanner repeat format
add 013ed67fe Merge pull request #5695 from
apache/deleted_document_ttl_enhancement
add 959d130b9 Tighten the rules for parsing time periods
add 2bd4d07ca Add UUID v7
add 08a992f83 Optimize purge
add d5be68784 correct formatting of UUID v7
add 16ced9579 Merge pull request #5698 from apache/uuid7-format
add c53c2cf33 Replace `dbg:stop_clear/0` with `dbg:stop/0`
add e9b91c550 Optimize revid parsing: 50-90% faster
add 85cc42dd6 Use determistic doc IDs in Mango key test
add 3f11cfd90 Docs: Update the /_up endpoint docs to include status
response's
add d521620ca Remove purge max_document_id_number and change
max_revisions_number
add 825b2169f Update QuickJS: faster context creation and faster dbuf
add 26920c21f Add UUID v4 and v7. Make v7 the default. Optimize UUID
generation.
add 51cc76776 Increase timeout for `process_response/3` to fix flaky tests
add a96e4ce81 QuickJS Update. Optimized string operations.
add a66019259 improve search test
add 0d267c1e9 Merge pull request #5708 from apache/improve-search-test
add 0bedebfff Avoid using function closures in mem3
add e1313df86 Introduce a minimum batch size for auto purge
add 784574bff Merge pull request #5711 from apache/auto-purge-batching
add 9dee10d7b Optimize purge. ~30% for large batches.
add 0dc4008b3 Improve index cleanup
add 61c4c4d16 Cleanup fabric r/w parameter handling
add f332e3a83 Remove hastings references
add 747e9deb8 Use W=N for auto-purge plugin
add 2ac2002db Do not check for dreyfus
add 5e7c2fce2 fixup: remove HAVE_DREYFUS refs
add 298cecd3f Update elp toml file
add 0167ab953 Use "all" ring options for purged_infos
add a96cf805b Update deps: fauxton, meck and proper
add 7442b43a3 Fix typo in .elp.toml
add fe0ff7f42 Ignore design docs in the shards db in the scanner
add 2d734ab8a Fix time_seq since bug
add 57e453163 Remove unused includes
add 5eb4adbc4 Update Quickjs: optimize global var access, fix
use-after-free error
add 9a2151dd9 parameterise reduce_limit threshold and ratio
add afd00b8b4 Merge pull request #5728 from apache/enhance_reduce_limit-2
add 1d8332df6 Fix a few regressions recent updates
add 1a915cfbb clarify the important step of this procedure
add c38263525 Merge pull request #5734 from
apache/improve-best-practice-doc
add 6a4e700cf configure httplog output for dev/run
add ba19e2e39 Merge pull request #5735 from apache/httplog-haproxy
add 8771fbd67 Merge 3.5.1 change to main
add 439033c37 Bump Erlang versions and clean up a few things
add 6a0df0686 upgrade gradle and spotless for JDK25 compat
add 3c48d7f9a Merge pull request #5738 from apache/nouveau-25
add 16852e363 default order is by relevance (high to low)
add a271313d2 Merge pull request #5737 from apache/score-order-fix
add b2094abd5 Include useful context when logging a bad reduction
add 9bbef5990 Merge pull request #5732 from apache/enhance_reduce_limit-3
add 275c06b9d Cleanup off-heap/priority flags
add 95fe2013a Reset docs_size in quickjs scanner
add b433c21bf Add skip option to doc_fdi calback in quickjs scanner
add 93dd7abad Added note that _purge is restricted to admin users
add abeb94409 Add _purge to the list of requests that only admin users are
allowed to do.
add 888e5b821 deleted a blank line
add f8317e992 QuickJS features and fixes: closure optimization, iterators,
UAF
add 9ae4b2f3e Allow javascript_quickjs in ken
add a5103556f Fix local doc rev parsing
add 64f5c5a09 Fix purge mem3_rep client verification
add d5129172e QuickJS: regex/string optimizations & workers uaf fix
add b9e6eda38 Optimize and clean up internal replicator purge checkpoints
add b740bcfcb only put_value if value has changed
add 0d130cfc8 Merge pull request #5776 from
apache/config-put-value-if-changed
add 1649371d8 auto-reload config on file change
add b4e58f15d Merge pull request #5762 from apache/auto-reload-config
add 563d1ec21 Fix replicator scheduler total jobs metric
add f06c3ec40 Update QuickJS: Unicode 17 and regex memory blowup fix
add e7be0ad5f fix: prometheus metrics annotations
add 8de56e719 Merge pull request #5793 from apache/wh/fix-prometheus
add 1c30fbd31 chore(`clouseau`): bump to 3.0.0
add 9025e10bc Make `CLOUSEAU_JAVA_HOME` configurable explicitly
add 23e1b6249 Set Erlang cookie explicitly for running Clouseau
add ebe62f805 Set timeout for Clouseau tests on containerized builders
add ac3873fd6 validate content-type for PUT /db/_auto_purge
add f7938ae60 Merge pull request #5796 from apache/auto-purge-ctype
add b0de5fa22 Fix Credo 1.7.14 ExpensiveEmptyEnumCheck warnings
add ea16a558d Port a basic _find test to Elixir along with the user_docs
fixture it depends on
add 13501dc28 Port the friend_docs fixture and one dependent test as an
example from Python to Elixir
add e219b9a66 Port the limit_docs fixture and one dependent test from
Python to Elxir
add 794c317a3 Instruct jiffy to use `nil` as the Elixir equivalent of the
JSON null value
add 598d8b1a2 Complete MangoDatabase Elixir port
add 1e8e9a0e9 refactor(test): 11 ignore design docs from python to elixir
add ad06d182a deprecate python vs of 11 ignore design docs
add 290314a32 chore(makefile): add possibility to run elixir-search per
file
add fe3fc9fff Disable Clouseau tests in containers
add 3ed762b95 Disable windows clouseau tests for now
add 06dfb8203 ci: don’t run tests if we only change .github configuration
add 9837f06ef convert bug and enhancement template to form
add c5a6fb8d9 Merge pull request #5812 from apache/github-forms
add 48bc077e4 Revert "convert bug and enhancement template to form"
add 6c4fdf583 Merge pull request #5814 from apache/revert-github-forms
add 1378f37aa try again
add 09b36ea7b Merge pull request #5815 from apache/github-issue-forms
add 3b8a1b53c fix triage label
add 67d99655f Merge pull request #5817 from apache/ghissuetriage
add d103a7f82 Fix bulk_get error handling
add 137df0e1e chore: rename `couch` make target to `couch-core`
add 29e3fb90f feat: allow for parallel execution of `make eunit`
sub-targets
add f5e145d6d chore: move nouveau to extra/nouveau to avoid parallel make
target clobbering
add ab3c92e1f doc: explain parallel make feature
add 40752fce1 chore: simplify test setup calls
add d22339215 feat: make fabric test setup more reliable by just asserting
the deletion of a shards db
add f6a5c3a5f feat: allow parallel execution of eunit tests
add 88fcdce98 chore: lint
add 4842ac95a Revert "chore: move nouveau to extra/nouveau to avoid
parallel make target clobbering"
add 99a88e387 add lucene version to ddoc and index definition
add 95420a378 upgrade to Lucene 10
add 6c3dbdcde support legacy indexes but prevent new ones
add ffa80ff75 nouveau welcome message for version negotiation
add c589dbb85 insert lucene version in new design documents if missing
add 1cada5c59 add scanner to upgrade nouveau indexes
add 03d2327bb fix formatting error in previous PR
add 557cb2a62 document nouveau handling of lucene 9 & 10
add 4ca05a623 Move up to match Lucene source compatibility
add 036662337 move nouveau back to extra/
add b877fb976 Merge pull request #5628 from apache/lucene-10
add 82826c27e feat(dev/run): write couch_uri files so ports are
discoverable with --auto-ports option
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 (e906be82b)
\
N -- N -- N refs/heads/feat/dev-with-uri-file (82826c27e)
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:
.elp.toml | 37 +-
.github/ISSUE_TEMPLATE/bug_report.md | 36 -
.github/ISSUE_TEMPLATE/bug_report.yml | 60 +
.github/ISSUE_TEMPLATE/config.yml | 1 +
.github/ISSUE_TEMPLATE/enhancement.md | 27 -
.github/ISSUE_TEMPLATE/enhancement.yml | 22 +
.github/ISSUE_TEMPLATE/rfc.md | 85 -
.github/ISSUE_TEMPLATE/rfc.yml | 93 +
Makefile | 65 +-
README-DEV.rst | 64 +-
build-aux/Jenkinsfile | 141 +-
build-aux/xref-helper.sh | 1 -
configure | 36 +-
configure.ps1 | 38 +-
dev/run | 222 +-
{nouveau => extra/nouveau}/.gitignore | 0
{nouveau => extra/nouveau}/LICENSE | 0
{nouveau => extra/nouveau}/README.md | 6 +-
{nouveau => extra/nouveau}/TODO | 0
{nouveau => extra/nouveau}/build.gradle | 28 +-
.../nouveau}/gradle/wrapper/gradle-wrapper.jar | Bin
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
{nouveau => extra/nouveau}/gradlew | 0
{nouveau => extra/nouveau}/gradlew.bat | 184 +-
{nouveau => extra/nouveau}/settings.gradle | 0
.../apache/couchdb/nouveau/NouveauApplication.java | 11 +-
.../nouveau/NouveauApplicationConfiguration.java | 0
.../apache/couchdb/nouveau/api/AnalyzeRequest.java | 0
.../couchdb/nouveau/api/AnalyzeResponse.java | 0
.../couchdb/nouveau/api/DocumentDeleteRequest.java | 0
.../couchdb/nouveau/api/DocumentUpdateRequest.java | 0
.../apache/couchdb/nouveau/api/DoubleField.java | 0
.../apache/couchdb/nouveau/api/DoubleRange.java | 0
.../java/org/apache/couchdb/nouveau/api/Field.java | 0
.../couchdb/nouveau/api/IndexDefinition.java | 33 +-
.../org/apache/couchdb/nouveau/api/IndexInfo.java | 0
.../couchdb/nouveau/api/IndexInfoRequest.java | 0
.../java/org/apache/couchdb/nouveau/api/Ok.java | 0
.../java/org/apache/couchdb/nouveau/api/Range.java | 0
.../org/apache/couchdb/nouveau/api/SearchHit.java | 0
.../apache/couchdb/nouveau/api/SearchRequest.java | 0
.../apache/couchdb/nouveau/api/SearchResults.java | 0
.../apache/couchdb/nouveau/api/StoredField.java | 0
.../apache/couchdb/nouveau/api/StringField.java | 0
.../org/apache/couchdb/nouveau/api/TextField.java | 0
.../couchdb/nouveau/api/WelcomeResponse.java | 21 +-
.../org/apache/couchdb/nouveau/core/IOUtils.java | 2 +-
.../org/apache/couchdb/nouveau/core/Index.java | 0
.../apache/couchdb/nouveau/core/IndexFunction.java | 0
.../apache/couchdb/nouveau/core/IndexManager.java | 16 +-
.../couchdb/nouveau/core/StaleIndexException.java | 0
.../apache/couchdb/nouveau/core/StripedLock.java | 0
.../nouveau/core/UpdatesOutOfOrderException.java | 0
.../couchdb/nouveau/core/UserAgentFilter.java | 0
.../couchdb/nouveau/core/ser/ByteArrayWrapper.java | 0
.../couchdb/nouveau/core/ser/DoubleWrapper.java | 0
.../couchdb/nouveau/core/ser/FloatWrapper.java | 0
.../couchdb/nouveau/core/ser/IntWrapper.java | 0
.../couchdb/nouveau/core/ser/LongWrapper.java | 0
.../couchdb/nouveau/core/ser/NullWrapper.java | 0
.../couchdb/nouveau/core/ser/PrimitiveWrapper.java | 0
.../couchdb/nouveau/core/ser/StringWrapper.java | 0
.../couchdb/nouveau/health/AnalyzeHealthCheck.java | 0
.../couchdb/nouveau/health/IndexHealthCheck.java | 4 +-
.../nouveau/lucene/LuceneAnalyzerFactory.java | 6 +-
.../apache/couchdb/nouveau/lucene/LuceneIndex.java | 22 +-
.../couchdb/nouveau/lucene/LuceneIndexSchema.java | 14 +-
.../couchdb/nouveau/lucene/LuceneModule.java | 8 +-
.../nouveau/lucene}/NouveauQueryParser.java | 2 +-
.../nouveau/lucene}/ParallelSearcherFactory.java | 2 +-
.../couchdb/nouveau/lucene}/QueryDeserializer.java | 2 +-
.../couchdb/nouveau/lucene}/QuerySerializer.java | 6 +-
.../lucene}/SimpleAsciiFoldingAnalyzer.java | 2 +-
.../couchdb/nouveau/resources/AnalyzeResource.java | 4 +-
.../couchdb/nouveau/resources/IndexResource.java | 6 +
.../couchdb/nouveau/resources/WelcomeResource.java | 20 +-
.../couchdb/nouveau/tasks/CloseAllIndexesTask.java | 0
.../nouveau}/src/main/resources/banner.txt | 0
.../nouveau}/src/main/resources/openapi.yaml | 0
.../couchdb/nouveau/api/IndexDefinitionTest.java | 42 +
.../couchdb/nouveau/api/SearchRequestTest.java | 0
.../couchdb/nouveau/core/IndexManagerTest.java | 26 +-
.../nouveau/health/AnalyzeHealthCheckTest.java | 0
.../nouveau/health/IndexHealthCheckTest.java | 0
.../nouveau/lucene/LuceneAnalyzerFactoryTest.java | 19 +-
.../couchdb/nouveau/lucene/LuceneIndexTest.java | 12 +-
.../nouveau/lucene}/NouveauQueryParserTest.java | 2 +-
.../nouveau/lucene}/QuerySerializationTest.java | 4 +-
.../resources/fixtures/DocumentUpdateRequest.json | 0
.../src/test/resources/fixtures/SearchRequest.json | 0
rebar.config.script | 8 +-
rel/haproxy.cfg | 1 +
rel/overlay/etc/default.ini | 51 +-
share/server/views.js | 21 +-
src/chttpd/src/chttpd_db.erl | 50 +-
src/chttpd/src/chttpd_handlers.erl | 2 -
src/chttpd/src/chttpd_misc.erl | 4 +-
src/chttpd/src/chttpd_node.erl | 2 +-
src/chttpd/src/chttpd_plugin.erl | 2 -
src/chttpd/src/chttpd_stats.erl | 3 -
src/chttpd/src/chttpd_test_util.erl | 2 +-
.../eunit/chttpd_auth_hash_algorithms_tests.erl | 2 +-
src/chttpd/test/eunit/chttpd_purge_tests.erl | 32 +-
src/config/src/config.erl | 129 +-
src/config/src/config_listener_mon.erl | 2 +-
src/config/test/config_tests.erl | 38 +-
src/couch/include/couch_eunit.hrl | 2 +-
src/couch/src/couch_att.erl | 10 +-
src/couch/src/couch_auto_purge_plugin.erl | 106 +-
src/couch/src/couch_base32.erl | 2 +-
src/couch/src/couch_bt_engine.erl | 12 +-
src/couch/src/couch_bt_engine_compactor.erl | 8 +-
src/couch/src/couch_bt_engine_header.erl | 2 +-
src/couch/src/couch_db.erl | 22 +-
src/couch/src/couch_db_plugin.erl | 2 -
src/couch/src/couch_db_updater.erl | 33 +-
src/couch/src/couch_debug.erl | 8 +-
src/couch/src/couch_doc.erl | 36 +-
src/couch/src/couch_event_sup.erl | 2 -
src/couch/src/couch_file.erl | 6 +-
src/couch/src/couch_flags_config.erl | 2 +-
src/couch/src/couch_httpd_auth.erl | 4 +-
src/couch/src/couch_httpd_db.erl | 2 +-
src/couch/src/couch_httpd_multipart.erl | 10 +-
src/couch/src/couch_httpd_vhost.erl | 4 +-
src/couch/src/couch_key_tree.erl | 6 +-
src/couch/src/couch_multidb_changes.erl | 8 +-
src/couch/src/couch_native_process.erl | 8 +-
src/couch/src/couch_os_process.erl | 6 +-
src/couch/src/couch_proc_manager.erl | 6 +-
src/couch/src/couch_query_servers.erl | 102 +-
src/couch/src/couch_server.erl | 7 +-
src/couch/src/couch_stream.erl | 6 +-
src/couch/src/couch_sup.erl | 2 -
src/couch/src/couch_task_status.erl | 4 +-
src/couch/src/couch_time_seq.erl | 12 +-
src/couch/src/couch_util.erl | 39 +-
src/couch/src/couch_uuids.erl | 166 +-
src/couch/src/test_util.erl | 56 +-
.../test/eunit/couch_auto_purge_plugin_tests.erl | 100 +-
.../eunit/couch_bt_engine_compactor_ev_tests.erl | 6 +-
.../test/eunit/couch_bt_engine_compactor_tests.erl | 4 +-
src/couch/test/eunit/couch_changes_tests.erl | 6 +-
src/couch/test/eunit/couch_db_doc_tests.erl | 32 +
src/couch/test/eunit/couch_doc_json_tests.erl | 12 +-
src/couch/test/eunit/couch_index_tests.erl | 2 +-
src/couch/test/eunit/couch_query_servers_tests.erl | 22 +-
src/couch/test/eunit/couch_server_tests.erl | 8 +-
src/couch/test/eunit/couch_stream_tests.erl | 2 +-
src/couch/test/eunit/couch_task_status_tests.erl | 4 +-
src/couch/test/eunit/couch_time_seq_tests.erl | 37 +-
src/couch/test/eunit/couch_uuids_tests.erl | 92 +-
src/couch/test/eunit/couch_work_queue_tests.erl | 4 +-
src/couch/test/eunit/couchdb_attachments_tests.erl | 2 +-
.../test/eunit/couchdb_file_compression_tests.erl | 2 +-
src/couch/test/eunit/couchdb_os_proc_pool.erl | 10 +-
.../test/eunit/couchdb_update_conflicts_tests.erl | 6 +-
src/couch/test/eunit/couchdb_vhosts_tests.erl | 22 +-
src/couch/test/eunit/couchdb_views_tests.erl | 12 +-
src/couch_event/src/couch_event_listener.erl | 20 +-
src/couch_event/src/couch_event_listener_mfa.erl | 6 +-
src/couch_event/src/couch_event_server.erl | 8 +-
src/couch_index/src/couch_index.erl | 4 +-
src/couch_index/src/couch_index_compactor.erl | 2 -
src/couch_index/src/couch_index_plugin.erl | 2 -
src/couch_index/src/couch_index_server.erl | 2 +-
src/couch_index/src/couch_index_util.erl | 47 +
.../test/eunit/couch_index_ddoc_updated_tests.erl | 4 +-
src/couch_log/src/couch_log_config.erl | 2 +-
src/couch_log/src/couch_log_server.erl | 4 +-
src/couch_log/src/couch_log_trunc_io.erl | 10 +-
src/couch_log/src/couch_log_trunc_io_fmt.erl | 14 +-
.../test/eunit/couch_log_config_listener_test.erl | 4 +-
.../test/eunit/couch_log_formatter_test.erl | 64 +-
src/couch_log/test/eunit/couch_log_server_test.erl | 4 +-
src/couch_log/test/eunit/couch_log_test_util.erl | 4 +-
src/couch_mrview/src/couch_mrview.erl | 2 +-
src/couch_mrview/src/couch_mrview_cleanup.erl | 51 +-
src/couch_mrview/src/couch_mrview_compactor.erl | 8 +-
src/couch_mrview/src/couch_mrview_index.erl | 4 +-
.../src/couch_mrview_update_notifier.erl | 2 -
src/couch_mrview/src/couch_mrview_updater.erl | 8 +-
src/couch_mrview/src/couch_mrview_util.erl | 42 +-
.../test/eunit/couch_mrview_compact_tests.erl | 8 +-
.../test/eunit/couch_mrview_ddoc_updated_tests.erl | 6 +-
.../eunit/couch_mrview_purge_docs_fabric_tests.erl | 2 +-
.../test/eunit/couch_mrview_purge_docs_tests.erl | 2 +-
src/couch_peruser/src/couch_peruser.erl | 2 +-
src/couch_prometheus/src/couch_prometheus.erl | 8 +-
src/couch_prometheus/src/couch_prometheus_util.erl | 25 +-
.../test/eunit/couch_prometheus_e2e_tests.erl | 10 +-
src/couch_pse_tests/src/cpse_test_ref_counting.erl | 9 +-
src/couch_pse_tests/src/cpse_util.erl | 16 +-
src/couch_quickjs/c_src/couchjs.c | 27 +-
.../patches/01-spidermonkey-185-mode.patch | 6 +-
src/couch_quickjs/patches/02-test262-errors.patch | 18 +-
src/couch_quickjs/quickjs/Changelog | 10 +
src/couch_quickjs/quickjs/Makefile | 2 +-
src/couch_quickjs/quickjs/cutils.c | 52 +-
src/couch_quickjs/quickjs/cutils.h | 46 +-
src/couch_quickjs/quickjs/libregexp-opcode.h | 18 +-
src/couch_quickjs/quickjs/libregexp.c | 793 +--
src/couch_quickjs/quickjs/libunicode-table.h | 4489 ++++++++--------
src/couch_quickjs/quickjs/libunicode.c | 2 +-
src/couch_quickjs/quickjs/quickjs-atom.h | 2 +
src/couch_quickjs/quickjs/quickjs-libc.c | 24 +-
src/couch_quickjs/quickjs/quickjs-opcode.h | 13 +-
src/couch_quickjs/quickjs/quickjs.c | 5334 ++++++++++++--------
src/couch_quickjs/quickjs/quickjs.h | 33 +-
src/couch_quickjs/quickjs/test262.conf | 9 +-
src/couch_quickjs/quickjs/test262_errors.txt | 89 +-
src/couch_quickjs/quickjs/tests/test262.patch | 65 +-
.../src/couch_quickjs_scanner_plugin.erl | 5 +-
.../test/couch_quickjs_scanner_plugin_tests.erl | 2 +
.../{update_and_apply_patches.sh => update.sh} | 0
.../src/couch_replicator_api_wrap.erl | 18 +-
.../src/couch_replicator_auth_session.erl | 3 +-
.../src/couch_replicator_doc_processor_worker.erl | 2 +-
src/couch_replicator/src/couch_replicator_docs.erl | 2 +-
.../src/couch_replicator_fabric.erl | 2 +-
.../src/couch_replicator_httpc.erl | 4 +-
.../src/couch_replicator_httpc_pool.erl | 6 +-
.../src/couch_replicator_rate_limiter.erl | 6 +-
.../src/couch_replicator_scheduler.erl | 27 +-
.../src/couch_replicator_scheduler_job.erl | 4 +-
src/couch_replicator/src/json_stream_parse.erl | 2 +-
.../test/eunit/couch_replicator_compact_tests.erl | 24 +-
.../eunit/couch_replicator_connection_tests.erl | 2 +-
.../couch_replicator_error_reporting_tests.erl | 2 +-
.../eunit/couch_replicator_httpc_pool_tests.erl | 2 +-
.../eunit/couch_replicator_rate_limiter_tests.erl | 2 +-
...ch_replicator_retain_stats_between_job_runs.erl | 6 +-
.../test/eunit/couch_replicator_test_helper.erl | 2 +-
src/couch_scanner/src/couch_scanner_plugin.erl | 12 +-
src/couch_scanner/src/couch_scanner_util.erl | 38 +-
.../test/eunit/couch_scanner_test.erl | 5 +
.../src/couch_stats_process_tracker.erl | 2 +-
src/custodian/src/custodian_util.erl | 2 +-
src/ddoc_cache/src/ddoc_cache_entry.erl | 19 +-
src/ddoc_cache/src/ddoc_cache_lru.erl | 4 +-
.../test/eunit/ddoc_cache_coverage_test.erl | 4 +-
.../test/eunit/ddoc_cache_entry_test.erl | 4 +-
src/ddoc_cache/test/eunit/ddoc_cache_lru_test.erl | 6 +-
.../test/eunit/ddoc_cache_open_error_test.erl | 2 +-
src/ddoc_cache/test/eunit/ddoc_cache_open_test.erl | 2 +-
.../test/eunit/ddoc_cache_remove_test.erl | 4 +-
src/ddoc_cache/test/eunit/ddoc_cache_tutil.erl | 4 +-
src/docs/src/api/database/cleanup.rst | 2 +
src/docs/src/api/database/misc.rst | 9 +-
src/docs/src/api/server/common.rst | 10 +-
src/docs/src/best-practices/views.rst | 9 +-
src/docs/src/cluster/purging.rst | 4 +-
src/docs/src/cluster/troubleshooting.rst | 2 +-
src/docs/src/config/misc.rst | 94 +-
src/docs/src/config/query-servers.rst | 10 +
src/docs/src/config/scanner.rst | 7 +-
src/docs/src/ddocs/nouveau.rst | 33 +
src/docs/src/install/nouveau.rst | 2 +-
src/docs/src/intro/security.rst | 1 +
src/docs/src/whatsnew/3.5.rst | 145 +
src/dreyfus/src/clouseau_rpc.erl | 13 +-
src/dreyfus/src/dreyfus_fabric_cleanup.erl | 129 +-
src/dreyfus/src/dreyfus_fabric_search.erl | 4 +-
src/dreyfus/src/dreyfus_index.erl | 11 +-
src/dreyfus/src/dreyfus_index_manager.erl | 2 +-
src/dreyfus/src/dreyfus_rpc.erl | 7 +-
src/dreyfus/src/dreyfus_util.erl | 34 +-
src/dreyfus/test/eunit/dreyfus_purge_test.erl | 8 +-
src/ets_lru/src/ets_lru.erl | 2 +-
src/ets_lru/test/ets_lru_test.erl | 4 +-
src/fabric/include/fabric.hrl | 2 +
src/fabric/src/fabric.erl | 64 +-
src/fabric/src/fabric_db_create.erl | 3 +-
src/fabric/src/fabric_db_delete.erl | 3 +-
src/fabric/src/fabric_db_doc_count.erl | 2 -
src/fabric/src/fabric_db_info.erl | 1 -
src/fabric/src/fabric_db_partition_info.erl | 1 -
src/fabric/src/fabric_db_purged_infos.erl | 17 +-
src/fabric/src/fabric_db_update_listener.erl | 11 +-
src/fabric/src/fabric_db_uuids.erl | 1 -
src/fabric/src/fabric_design_doc_count.erl | 2 -
src/fabric/src/fabric_doc_atts.erl | 1 -
src/fabric/src/fabric_doc_missing_revs.erl | 1 -
src/fabric/src/fabric_doc_open.erl | 20 +-
src/fabric/src/fabric_doc_open_revs.erl | 5 +-
src/fabric/src/fabric_doc_purge.erl | 523 +-
src/fabric/src/fabric_doc_update.erl | 3 +-
src/fabric/src/fabric_group_info.erl | 1 -
src/fabric/src/fabric_index_cleanup.erl | 81 +
src/fabric/src/fabric_open_revs.erl | 55 +-
src/fabric/src/fabric_rpc.erl | 45 +-
src/fabric/src/fabric_streams.erl | 14 +-
src/fabric/src/fabric_util.erl | 158 +-
src/fabric/src/fabric_view.erl | 11 +-
src/fabric/src/fabric_view_all_docs.erl | 4 +-
src/fabric/src/fabric_view_map.erl | 2 +-
src/fabric/src/fabric_view_reduce.erl | 7 +-
.../test/eunit/fabric_moved_shards_seq_tests.erl | 2 +-
src/fabric/test/eunit/fabric_rpc_purge_tests.erl | 2 +-
src/fabric/test/eunit/fabric_rpc_tests.erl | 2 +-
src/fabric/test/eunit/fabric_tests.erl | 27 +-
src/global_changes/src/global_changes_plugin.erl | 2 -
src/global_changes/src/global_changes_server.erl | 4 +-
src/ioq/src/ioq.erl | 4 +-
src/ken/rebar.config.script | 14 +-
src/ken/src/ken.app.src.script | 13 +-
src/ken/src/ken_server.erl | 90 +-
src/ken/test/ken_server_test.erl | 2 +-
src/mango/rebar.config.script | 16 +-
src/mango/src/mango_cursor.erl | 9 -
src/mango/src/mango_cursor_nouveau.erl | 6 +-
src/mango/src/mango_cursor_text.erl | 9 +-
src/mango/src/mango_httpd.erl | 1 -
src/mango/src/mango_idx_special.erl | 8 +-
src/mango/src/mango_native_proc.erl | 2 +-
src/mango/src/mango_selector.erl | 2 +-
src/mango/src/mango_selector_text.erl | 2 +-
src/mango/src/mango_util.erl | 16 +-
src/mango/test/04-key-tests.py | 7 +-
src/mango/test/11-ignore-design-docs-test.py | 27 -
src/mem3/src/mem3.erl | 39 +-
src/mem3/src/mem3_hash.erl | 2 +-
src/mem3/src/mem3_nodes.erl | 1 -
src/mem3/src/mem3_rep.erl | 147 +-
src/mem3/src/mem3_reshard.erl | 4 +-
src/mem3/src/mem3_reshard_index.erl | 26 +-
src/mem3/src/mem3_reshard_job.erl | 8 +-
src/mem3/src/mem3_reshard_job_sup.erl | 2 -
src/mem3/src/mem3_rpc.erl | 53 +-
src/mem3/src/mem3_shards.erl | 292 +-
src/mem3/src/mem3_sync_event_listener.erl | 4 +-
src/mem3/src/mem3_sync_security.erl | 2 +-
src/mem3/test/eunit/mem3_distribution_test.erl | 3 +-
src/mem3/test/eunit/mem3_rep_test.erl | 136 +-
.../test/eunit/mem3_reshard_changes_feed_test.erl | 12 +-
src/mem3/test/eunit/mem3_reshard_test.erl | 81 +-
src/mem3/test/eunit/mem3_shards_test.erl | 10 +-
src/nouveau/include/nouveau.hrl | 4 +
src/nouveau/src/nouveau_api.erl | 13 +
src/nouveau/src/nouveau_fabric_cleanup.erl | 80 +-
src/nouveau/src/nouveau_fabric_search.erl | 17 +-
src/nouveau/src/nouveau_index_manager.erl | 2 +-
src/nouveau/src/nouveau_index_updater.erl | 1 +
src/nouveau/src/nouveau_index_upgrader.erl | 165 +
src/nouveau/src/nouveau_plugin_couch_db.erl | 36 +
src/nouveau/src/nouveau_rpc.erl | 7 +-
src/nouveau/src/nouveau_util.erl | 39 +-
.../test/eunit/nouveau_index_upgrader_tests.erl} | 83 +-
src/rexi/src/rexi.erl | 2 +-
src/rexi/src/rexi_monitor.erl | 2 +-
src/rexi/src/rexi_server.erl | 4 +-
src/rexi/src/rexi_server_mon.erl | 2 +-
src/rexi/src/rexi_utils.erl | 2 +-
src/rexi/test/rexi_tests.erl | 4 +-
src/smoosh/src/smoosh_channel.erl | 14 +-
src/smoosh/test/smoosh_tests.erl | 16 +-
.../src/weatherreport_check_mem3_sync.erl | 2 +-
.../src/weatherreport_check_node_stats.erl | 2 +-
.../src/weatherreport_check_nodes_connected.erl | 2 +-
.../src/weatherreport_check_process_calls.erl | 2 +-
src/weatherreport/src/weatherreport_getopt.erl | 2 +-
src/weatherreport/src/weatherreport_node.erl | 2 +-
src/weatherreport/src/weatherreport_util.erl | 2 +-
test/elixir/lib/asserts.ex | 20 +
test/elixir/lib/couch.ex | 4 +-
test/elixir/lib/couch/dbtest.ex | 10 +-
test/elixir/lib/couch_raw.ex | 2 +-
test/elixir/test/all_docs_test.exs | 2 +-
test/elixir/test/attachments_multipart_test.exs | 14 +-
test/elixir/test/basics_test.exs | 2 +-
test/elixir/test/changes_async_test.exs | 8 +-
test/elixir/test/changes_test.exs | 2 +-
test/elixir/test/config/nouveau.elixir | 1 +
test/elixir/test/config/search.elixir | 6 +
test/elixir/test/config/suite.elixir | 7 +
test/elixir/test/config_test.exs | 18 +-
test/elixir/test/design_docs_test.exs | 2 +-
test/elixir/test/design_options_test.exs | 2 +-
test/elixir/test/erlang_views_test.exs | 2 +-
test/elixir/test/jsonp_test.exs | 2 +-
.../elixir/test/mango/02_basic_find_test.exs | 28 +-
test/elixir/test/mango/06_basic_text_test.exs | 33 +
.../elixir/test/mango/08_text_limit_test.exs | 29 +-
.../test/mango/11_ignore_design_docs_test.exs | 33 +
test/elixir/test/nouveau_test.exs | 26 +-
test/elixir/test/partition_crud_test.exs | 2 +-
test/elixir/test/partition_mango_test.exs | 4 +-
test/elixir/test/partition_search_test.exs | 47 +-
test/elixir/test/partition_size_limit_test.exs | 2 +-
test/elixir/test/replication_test.exs | 4 +-
test/elixir/test/reshard_basic_test.exs | 8 +-
test/elixir/test/rewrite_test.exs | 4 +-
test/elixir/test/search_test.exs | 83 +-
test/elixir/test/support/friend_docs.ex | 286 ++
test/elixir/test/support/limit_docs.ex | 112 +
test/elixir/test/support/mango_database.ex | 198 +
test/elixir/test/support/user_docs.ex | 401 ++
test/elixir/test/users_db_test.exs | 2 +-
test/elixir/test/view_collation_raw_test.exs | 6 +-
test/elixir/test/view_collation_test.exs | 6 +-
test/elixir/test/view_errors_test.exs | 4 +-
test/elixir/test/view_multi_key_all_docs_test.exs | 10 +-
test/elixir/test/view_multi_key_design_test.exs | 18 +-
test/elixir/test/view_offsets_test.exs | 2 +-
version.mk | 2 +-
405 files changed, 11634 insertions(+), 7534 deletions(-)
delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md
create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml
create mode 100644 .github/ISSUE_TEMPLATE/config.yml
delete mode 100644 .github/ISSUE_TEMPLATE/enhancement.md
create mode 100644 .github/ISSUE_TEMPLATE/enhancement.yml
delete mode 100644 .github/ISSUE_TEMPLATE/rfc.md
create mode 100644 .github/ISSUE_TEMPLATE/rfc.yml
rename {nouveau => extra/nouveau}/.gitignore (100%)
rename {nouveau => extra/nouveau}/LICENSE (100%)
rename {nouveau => extra/nouveau}/README.md (98%)
rename {nouveau => extra/nouveau}/TODO (100%)
rename {nouveau => extra/nouveau}/build.gradle (56%)
rename {nouveau => extra/nouveau}/gradle/wrapper/gradle-wrapper.jar (100%)
rename {nouveau => extra/nouveau}/gradle/wrapper/gradle-wrapper.properties
(93%)
rename {nouveau => extra/nouveau}/gradlew (100%)
rename {nouveau => extra/nouveau}/gradlew.bat (96%)
rename {nouveau => extra/nouveau}/settings.gradle (100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
(89%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeRequest.java
(100%)
copy {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/DocumentDeleteRequest.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/DoubleField.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/DoubleRange.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/Field.java (100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/IndexDefinition.java
(70%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/IndexInfo.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java
(100%)
copy {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/Ok.java (100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/Range.java (100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/SearchHit.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/StoredField.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/StringField.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/api/TextField.java
(100%)
rename
nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/WelcomeResponse.java
(67%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/IOUtils.java (97%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/Index.java (100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/IndexFunction.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java
(96%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/StaleIndexException.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/StripedLock.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/UpdatesOutOfOrderException.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/UserAgentFilter.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/ByteArrayWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/FloatWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/IntWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/LongWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/NullWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/PrimitiveWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/core/ser/StringWrapper.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheck.java
(100%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/health/IndexHealthCheck.java
(93%)
rename
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9AnalyzerFactory.java
=>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene/LuceneAnalyzerFactory.java
(97%)
rename
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9Index.java =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene/LuceneIndex.java
(97%)
rename
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9IndexSchema.java
=>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene/LuceneIndexSchema.java
(91%)
rename
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9Module.java =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene/LuceneModule.java
(82%)
rename {nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene}/NouveauQueryParser.java
(98%)
rename {nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene}/ParallelSearcherFactory.java
(96%)
rename {nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene}/QueryDeserializer.java
(99%)
rename {nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene}/QuerySerializer.java
(97%)
rename {nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/lucene}/SimpleAsciiFoldingAnalyzer.java
(96%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
(93%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/resources/IndexResource.java
(93%)
rename nouveau/src/main/java/org/apache/couchdb/nouveau/api/Ok.java =>
extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/WelcomeResource.java
(58%)
rename {nouveau =>
extra/nouveau}/src/main/java/org/apache/couchdb/nouveau/tasks/CloseAllIndexesTask.java
(100%)
rename {nouveau => extra/nouveau}/src/main/resources/banner.txt (100%)
rename {nouveau => extra/nouveau}/src/main/resources/openapi.yaml (100%)
create mode 100644
extra/nouveau/src/test/java/org/apache/couchdb/nouveau/api/IndexDefinitionTest.java
rename {nouveau =>
extra/nouveau}/src/test/java/org/apache/couchdb/nouveau/api/SearchRequestTest.java
(100%)
rename {nouveau =>
extra/nouveau}/src/test/java/org/apache/couchdb/nouveau/core/IndexManagerTest.java
(83%)
rename {nouveau =>
extra/nouveau}/src/test/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheckTest.java
(100%)
rename {nouveau =>
extra/nouveau}/src/test/java/org/apache/couchdb/nouveau/health/IndexHealthCheckTest.java
(100%)
rename
nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/Lucene9AnalyzerFactoryTest.java
=>
extra/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene/LuceneAnalyzerFactoryTest.java
(92%)
rename
nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/Lucene9IndexTest.java
=>
extra/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene/LuceneIndexTest.java
(96%)
rename {nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene}/NouveauQueryParserTest.java
(98%)
rename {nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9 =>
extra/nouveau/src/test/java/org/apache/couchdb/nouveau/lucene}/QuerySerializationTest.java
(97%)
rename {nouveau =>
extra/nouveau}/src/test/resources/fixtures/DocumentUpdateRequest.json (100%)
rename {nouveau =>
extra/nouveau}/src/test/resources/fixtures/SearchRequest.json (100%)
rename src/couch_quickjs/{update_and_apply_patches.sh => update.sh} (100%)
create mode 100644 src/fabric/src/fabric_index_cleanup.erl
delete mode 100644 src/mango/test/11-ignore-design-docs-test.py
create mode 100644 src/nouveau/src/nouveau_index_upgrader.erl
copy src/{couch/test/eunit/couch_auto_purge_plugin_tests.erl =>
nouveau/test/eunit/nouveau_index_upgrader_tests.erl} (54%)
create mode 100644 test/elixir/lib/asserts.ex
copy dev/remsh => test/elixir/test/mango/02_basic_find_test.exs (62%)
mode change 100755 => 100644
create mode 100644 test/elixir/test/mango/06_basic_text_test.exs
copy dev/remsh => test/elixir/test/mango/08_text_limit_test.exs (58%)
mode change 100755 => 100644
create mode 100644 test/elixir/test/mango/11_ignore_design_docs_test.exs
create mode 100644 test/elixir/test/support/friend_docs.ex
create mode 100644 test/elixir/test/support/limit_docs.ex
create mode 100644 test/elixir/test/support/mango_database.ex
create mode 100644 test/elixir/test/support/user_docs.ex