| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
These two tests are reliably timing out on ARM hardware in Jenkins.
They do a lot of individual btree operations so this is not entirely
surprising. Appropriate course of action here is to raise the timeout.
|
|
|
|
|
|
|
|
|
| |
This changes `couch_file` to ensure that errors are raised when a call
to `fsync` fails. It will also stop the couch_file process to ensure
that anything handling a failed `fsync` won't attempt to retry the
operation and experience issues discovered by Postgres [1].
[1] http://danluu.com/fsyncgate/
|
| |
|
|
|
|
|
|
| |
The code has "infinity" as the default value and not 0
See src/couch_replicator/src/couch_replicator_changes_reader.erl
|
|
|
|
|
|
|
|
|
|
|
| |
Bumped elixir version to 1.7.4 as 1.6.6 wasn't built with Erlang 22
support.
Also moving straight to 22.0.5 since 22.0 in travis crashed with a
segmentation fault. Some of the release comments in the point release
mention VM crashes, so it seems to check out.
Fixes https://github.com/apache/couchdb/issues/2069
|
|\
| |
| | |
Update ioq to 2.1.2
|
|/
|
|
| |
* Fix the case when we call log10 with 0
|
|\
| |
| | |
Add "Dreyfus" (Erlang side of Search) to CouchDB
|
| |\
| |/
|/| |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| |/
|/| |
|
| |
| |
| |
| |
| | |
Before shard splitting it was possible to replicate shards even if they were
not in the shard map. This commit brings back that behavior.
|
| | |
|
| | |
|
| | |
|
| |\
|/ /
| |
| |
| |
| | |
git-subtree-dir: src/dreyfus
git-subtree-mainline: 57bf82e5cc3c3ab55ad6c3e46ea2c666ac2711cc
git-subtree-split: 80e3cd8111bda643686d9165ea6afa99d0d33cd4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| | |
| | | |
adjust metric for io_queue-search
|
| |/ |
|
| |\
| | |
| | | |
Use dedicated search IOQ channel for
|
| | | |
|
| |/ |
|
| |\
| | |
| | | |
add stats for search
|
| |/ |
|
| |\
| | |
| | |
| | |
| | | |
cloudant-labs/avoid-dreyfus-index-manager-for-disk-size
Avoid dreyfus_index_manager for _search_disk_size.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| | |
| | | |
Always send a binary when calling clouseau_rpc:delete
|
| |/
| |
| |
| | |
BugzID: 116712
|
| |
| |
| |
| | |
JsonBody was already a tuple list so putting in brackets made it
a nested list which function claused on {K,V}. This fixes that
|
| | |
|
| |\
| | |
| | | |
Partition improvements
|
| |/
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\
| | |
| | | |
Fix search with limit using POST method
|
| |/ |
|
| |\
| | |
| | | |
Implement partitioned queries
|
| | |
| | |
| | |
| | | |
Issue #44
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Co-authored-by: Garren Smith <garren.smith@gmail.com>
Co-authored-by: Peng Hui Jiang <jiangph@cn.ibm.com>
|
| |/
| |
| |
| | |
Co-authored-by: Garren Smith <garren.smith@gmail.com>
|
| |\
| | |
| | | |
Fix function_clause caused by malformed accumulator
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | | |
Avoid calls to `fabric:design_docs/1`
|
| |/ |
|
| |\
| | |
| | | |
use updated_on instead of timestamp_utc in local purge doc
|
| |/
| |
| |
| | |
COUCHDB-3326
|
| |\
| | |
| | | |
Couchdb 3326 clustered purge
|