| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
In some situation where design document for search index created by
customer is not valid, the _search_cleanup endpoint will stop to clean
up. This will leave some search index orphan. The change is to allow
to continue to clean up search index even if there is invalid design
document for search.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to https://docs.couchdb.org/en/master/ddocs/search.html there
are parameters for searches that are not allowed for partitioned queries.
Those restrictions were not enforced, thus making the software and docs
inconsistent.
This commit adds them to validation so that the behavior matches the one
described in the docs.
|
| |/ |
|
| |
|
|
| |
Fixes #2520
|
| |
|
|
|
| |
Previously we erroneously got ring opts before and after figuring out live
shards if some shards were not live there was a badmatch failure.
|
| |
|
|
| |
dreyful -> dreyfus
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Previously any failed node or rexi worker error resulted in requests failing
immediately even though there were available workers to keep handling the
request. This was because the progress check function didn't account for the
fact that partition requests only use a handful of shards which, by design, do
not complete the full ring.
Here we fix both partition info queries and dreyfus search functionality. We
follow the pattern from fabric and pass through a set of "ring options" that
let the progress function know it is dealing with partitions instead of a full
ring.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now only support OTP 20+, with 19 at a stretch. erlang:now/0
was deprecated in OTP 18, so we can now suppress these warnings:
```
/home/joant/couchdb/src/dreyfus/src/dreyfus_index_updater.erl:62: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
/home/joant/couchdb/src/dreyfus/src/dreyfus_index_updater.erl:83: Warning: erlang:now/0: Deprecated BIF. See the "Time and Time Correction in Erlang" chapter of the ERTS User's Guide for more information.
```
Also, some unused variables were removed:
```
/home/joant/couchdb/src/couch/src/couch_bt_engine.erl:997: Warning: variable 'NewSeq' is unused
/home/joant/couchdb/src/mem3/src/mem3_rep.erl:752: Warning: variable 'TMap' is unused
/home/joant/couchdb/src/dreyfus/src/dreyfus_httpd.erl:76: Warning: variable 'LimitValue' is unused
/home/joant/couchdb/src/dreyfus/src/dreyfus_util.erl:345: Warning: variable 'Db' is unused
```
PRs to follow in ets_lru, hyper, ibrowse to track the rest of `erlang:now/0`
deprecations.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
https://github.com/apache/couchdb/pull/1445 introduced a shim to
enable CouchDB to be compiled to use the Erlang MD5 function.
This allows CouchDB to run in FIPS environments where the crypto
module is restricted such that `crypto:hash(md5,..)` is blocked
(fails with `notsup` error).
This commit replaces usage of `crypto:hash(md5, ..)` introduced since
the original PR with the shim function.
|
| | |
|
| | |
|
| |
|
|
|
| |
This change eliminates IOQ from the test path for clouseau
connectivity.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
The clouseau_rpc:version() call actually takes a few milliseconds to
complete, so instead we first check for a hidden clouseau node already
connected to our node. If we don't find it, we do the version() RPC.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we had been using module_loaded(dreyfus_index) as a check
for the presence of the Search system. There are two issues with this
approach going forward:
1. Dreyfus is going to be included in every build
2. An Erlang release loads modules lazily and so this check could
accidentally fail even on a Search-enabled system.
This patch changes the check to one that makes an RPC request
to the Clouseau (Java) subsystem. This should be a low-cost operation,
but I haven't benchmarked it.
|
|
|
git-subtree-dir: src/dreyfus
git-subtree-mainline: 57bf82e5cc3c3ab55ad6c3e46ea2c666ac2711cc
git-subtree-split: 80e3cd8111bda643686d9165ea6afa99d0d33cd4
|