summaryrefslogtreecommitdiff
path: root/src/dreyfus
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch master into prototype/fdb-layerPaul J. Davis2020-09-164-14/+288
|\
| * Allow to continue to cleanup search index even if there is invalid ddocdreyfus-cleanup-with-invalid-ddocjiangph2020-09-012-6/+35
| | | | | | | | | | | | | | | | 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.
| * Allow drilldown for search to always be specified as list of listsBessenyei Balázs Donát2020-06-222-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>
| * Make restricted partition search parameters return bad requestBessenyei Balázs Donát2020-06-182-8/+50
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Add format_status/2 callback in gen_server implementationsILYA Khlopotov2020-07-301-1/+25
|/
* Fix highlight_post_tag parsing from json request bodyfix-2520Robert Newson2020-02-051-1/+1
| | | | Fixes #2520
* Remove reduntant get_ring_opts call in in dreyfus_fabric_searchNick Vatamaniuc2020-01-231-1/+0
| | | | | Previously we erroneously got ring opts before and after figuring out live shards if some shards were not live there was a badmatch failure.
* Fix misspelling in dreyfusNick Vatamaniuc2020-01-221-1/+1
| | | | dreyful -> dreyfus
* Fix fabric worker failures for partition requestsNick Vatamaniuc2020-01-166-34/+163
| | | | | | | | | | | | | 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.
* Eliminate multiple compiler warningsJoan Touzet2020-01-133-5/+3
| | | | | | | | | | | | | | | | | | | | | | 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.
* Switch make elixir to use n = 1Garren Smith2019-12-161-2/+2
|
* Update usage of couch_hash:md5_hash shimcouch_hash_updateWill Holley2019-12-021-2/+2
| | | | | | | | | | | 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.
* Revert "Close LRU by database path for deleted database/index"Peng Hui Jiang2019-11-222-7/+1
|
* close LRU by database pathclose-lrujiangph2019-11-052-1/+7
|
* Ping clouseau directlyping-clouseau-directlyRobert Newson2019-10-031-7/+2
| | | | | This change eliminates IOQ from the test path for clouseau connectivity.
* fixup for dreyfus_fabric_cleanup:go/1fixup-cleanup-gojiangph2019-08-132-5/+8
|
* Fix credo complains for dreyfusILYA Khlopotov2019-07-291-2/+2
|
* Further improve detection of Search systemAdam Kocoloski2019-06-201-5/+12
| | | | | | 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.
* Improve error message on Clouseau connection failAdam Kocoloski2019-06-181-6/+13
|
* Improve detection of Search subsystemAdam Kocoloski2019-06-141-0/+9
| | | | | | | | | | | | | | 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.
* Add 'src/dreyfus/' from commit '80e3cd8111bda643686d9165ea6afa99d0d33cd4'Adam Kocoloski2019-05-2536-0/+4868
git-subtree-dir: src/dreyfus git-subtree-mainline: 57bf82e5cc3c3ab55ad6c3e46ea2c666ac2711cc git-subtree-split: 80e3cd8111bda643686d9165ea6afa99d0d33cd4