summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Blacklist all 21.x releases older than 21.2.3fix-version-blacklistPaul J. Davis2019-07-021-2/+1
| | | | | | | | | This basically just extends the black list to cover the `21.{0,1}` release range. This is due to a compiler bug [1] which is a duplicate of [2]. [1] https://bugs.erlang.org/browse/ERL-981 [2] https://bugs.erlang.org/browse/ERL-807
* Merge pull request #2037 from kocolosk/dreyfus-by-defaultAdam Kocoloski2019-06-2145-5/+4995
|\ | | | | Add "Dreyfus" (Erlang side of Search) to CouchDB
| * Merge branch 'master' into dreyfus-by-defaultAdam Kocoloski2019-06-201-3/+4
| |\ | |/ |/|
* | Improve PR template with @kocolosk feedbackJoan Touzet2019-06-201-3/+4
| |
| * Document config settings related to search systemAdam Kocoloski2019-06-201-0/+29
| |
| * 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-143-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Merge branch 'master' into dreyfus-by-defaultAdam Kocoloski2019-06-141-3/+31
| |\ | |/ |/|
* | Make mem3_rep:go work when target shards are not yet present in shard mapNick Vatamaniuc2019-06-121-3/+31
| | | | | | | | | | Before shard splitting it was possible to replicate shards even if they were not in the shard map. This commit brings back that behavior.
| * Add Dreyfus to Erlang releaseAdam Kocoloski2019-05-253-0/+4
| |
| * Ensure Dreyfus JS code is included in buildAdam Kocoloski2019-05-252-0/+4
| |
| * Add dreyfus.js from cloudant/couchdb@c323f1943Adam Kocoloski2019-05-251-0/+62
| |
| * 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
| * Address EPI's startup use of dreyfus_configAdam Kocoloski2019-05-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a lazy workaround to address a tricky interdependency in the application startup order. Dreyfus depends on the config application, but the plugin engine makes a call to dreyfus_config:data(), which relies on the config app, before the dreyfus app -- or the config app -- is started. The couch_epi module does not add a dependency on config so if couch_epi happens to start before config the whole VM can crash. The dreyfus_epi module configures the plugin interface to re-load the configuration data once a second, so ignoring the failure on startup only leaves a window of up to one second where any custom blacklist configuration for the dreyfus app is not loaded.
| * Merge pull request #47 from cloudant-labs/adjust-io_queue-searchPeng Hui Jiang2019-05-141-0/+6
| |\ | | | | | | adjust metric for io_queue-search
| | * adjust metric for io_queue-searchjiangph2019-05-141-0/+6
| |/
| * Merge pull request #46 from cloudant-labs/use-dedicated-search-ioq-channelRussell Branca2019-04-183-4/+10
| |\ | | | | | | Use dedicated search IOQ channel for
| | * Add IOQ2 metric for search trafficRussell Branca2019-04-121-0/+6
| | |
| | * Use dedicated search IOQ channelRussell Branca2019-04-122-4/+4
| |/
| * Merge pull request #45 from cloudant-labs/add-pricing-for-pqgarren smith2019-03-281-0/+2
| |\ | | | | | | add stats for search
| | * add stats for searchGarren Smith2019-03-281-0/+2
| |/
| * Merge pull request #44 from ↵Rob Allen2019-03-071-7/+3
| |\ | | | | | | | | | | | | cloudant-labs/avoid-dreyfus-index-manager-for-disk-size Avoid dreyfus_index_manager for _search_disk_size.
| | * Avoid dreyfus_index_manager for _search_disk_size.Rob Allen2019-03-071-7/+3
| |/ | | | | | | | | | | | | | | | | Previously, all use of the _search_disk_size endpoint was serialised through gen_server calls in dreyfus_index_manager. However, the code executed in response to the public interface function used no state from the server, relying only on the passed arguments. Under load, this resulted in dreyfus_index_manager accumulating a long message queue, with the usual negative side effects.
| * Merge pull request #43 from cloudant-labs/116712-fix-deleteRobert Newson2019-02-171-1/+1
| |\ | | | | | | Always send a binary when calling clouseau_rpc:delete
| | * Always send a binary when calling clouseau_rpc:deleteRobert Newson2019-02-161-1/+1
| |/ | | | | | | BugzID: 116712
| * fix function_clause (#42)Tony Sun2019-02-131-1/+1
| | | | | | | | JsonBody was already a tuple list so putting in brackets made it a nested list which function claused on {K,V}. This fixes that
| * Fixed typoPaul J. Davis2019-02-071-1/+1
| |
| * Merge pull request #41 from cloudant-labs/partition-parametersPaul J. Davis2019-02-062-4/+34
| |\ | | | | | | Partition improvements
| | * Reject multiple conflicting values of `partition`Paul J. Davis2019-02-062-4/+34
| |/ | | | | | | | | | | | | | | If a user specifies different values for `partition` parameters in the query string or request body the behavior can be surprising on which one ends up being used. This change provides the user with an error that indicates the condition rather than leaving the user to figure out why queries are returning unexpected data.
| * Merge pull request #40 from cloudant-labs/search-using-limit-with-postPeng Hui Jiang2019-01-292-1/+23
| |\ | | | | | | Fix search with limit using POST method
| | * Support search with limit using POST methodjiangph2019-01-282-1/+23
| |/
| * Merge pull request #34 from cloudant-labs/feature/database-partitionsPaul J. Davis2019-01-1812-75/+431
| |\ | | | | | | Implement partitioned queries
| | * Implement separate limits for partitioned queriesjiangph2019-01-091-11/+28
| | | | | | | | | | | | Issue #44
| | * Add partition search testsGarren Smith2019-01-097-0/+233
| | |
| | * Support partitioned queriesPaul J. Davis2019-01-095-24/+166
| | | | | | | | | | | | | | | Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Peng Hui Jiang <jiangph@cn.ibm.com>
| | * Remove deprecated clausesPaul J. Davis2018-12-202-42/+6
| |/ | | | | | | Co-authored-by: Garren Smith <garren.smith@gmail.com>
| * Merge pull request #39 from cloudant-labs/fix-function-clause-load-docsRobert Newson2018-12-141-1/+1
| |\ | | | | | | Fix function_clause caused by malformed accumulator
| | * Fix function_clause caused by malformed accumulatorRobert Newson2018-12-141-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | In a previous commit we added another item to the accumulator used by load_docs. Unfortunately one clause was not modified so we send the original 6-tuple, which then fails to match the function and crashes. This affects searches of busy indexes, the user gets a function_clause erorr instead of search results. It does not appear to prevent index commits, though. BugzID: 114420
| * Merge pull request #37 from cloudant-labs/fix-get-minimum-purge-seqPaul J. Davis2018-12-071-22/+3
| |\ | | | | | | Avoid calls to `fabric:design_docs/1`
| | * Avoid calls to `fabric:design_docs/1`Paul J. Davis2018-12-051-22/+3
| |/
| * Merge pull request #32 from cloudant-labs/COUCHDB-3326-use-updated_onPeng Hui Jiang2018-10-252-2/+2
| |\ | | | | | | use updated_on instead of timestamp_utc in local purge doc
| | * use updated_on instead of timestamp_utc in local purge docjiangph2018-10-252-2/+2
| |/ | | | | | | COUCHDB-3326
| * Merge pull request #14 from cloudant-labs/COUCHDB-3326-clustered-purgePeng Hui Jiang2018-09-288-17/+1165
| |\ | | | | | | Couchdb 3326 clustered purge
| | * Update to use new purge APIchguocloudant2018-09-288-17/+1165
| |/ | | | | | | COUCHDB-3326
| * Merge pull request #31 from cloudant-labs/109229-improve-blacklistPeng Hui Jiang2018-08-306-1/+24
| |\ | | | | | | Improve search blacklist
| | * Improve search blacklistjiangph2018-08-306-1/+24
| |/ | | | | | | | | | | | | - add additional check in dreyfus_fabric_search:go clause, and the same for dreyfus_fabric_info, dreyfus_fabric_group, etc Bugzid: 109229
| * fix typo to noreply (#29)Tony Sun2018-08-161-1/+1
| | | | | | | | BugzId:109264
| * Add ability to black list indexes (#27)Tony Sun2018-08-1513-13/+333
| | | | | | | | | | | | | | | | | | We add the ability to black list search indexes. The implementation requires couch_epi that generates a dynamic module to check for configuration values. A new config section, dreyfus_blacklist is added. Each key in the section will be of the form "<db>.<groupid>. <indexname>". Setting this value, either via remsh or via the _node/<node>/_config endpoint, to "true", will disable the index. Search requests will throw a 400 error, and indexing will not start. Index processes that have already begun will be allowed to finish.
| * Merge pull request #26 from cloudant-labs/COUCHDB-3287-pluggable-storage-enginesPaul J. Davis2018-02-281-4/+4
| |\ | | | | | | Update to use pluggable storage engine APIs