| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Bash has `let` but other shells might not have it.
|
|
|
|
|
|
|
| |
And remove the js version. Elixir test has been running decently on Travis from
what I observed. However, it was disabled on jenkins runs. With a recent
hardware upgrade, perhaps there is chance this test will start passing there
too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`local` replication endpoints do something completely unexpected from a user's
point of view -- they replicate to and from node local databases on a random
node. The only way this worked correctly was if someone used the backend port
(:5986) with a single node database. However, that port is getting closed for 3.x
release as well, so it makes even less sense to keep this functionality around.
For more discussion and voting results see ML list:
https://lists.apache.org/thread.html/ddcd9db93cee363db7da571f5cbc7f2bd24b881a34e1ef734d6a0a1c@%3Cdev.couchdb.apache.org%3E
The `_replicate` HTTP "hack" was left as is, since it does work more or less,
However it is inconsistent with what _replicator docs do so we should probably
deprecated it and remove it in 4.x.
|
|
|
|
|
| |
Fix a race condition in state matching, also parameterize the state
field in wait_state.
|
|
|
|
|
|
|
| |
Whole app is retried 2 extra times if it fails.
Added to *nix Makefile only for now. May not be needed for Windows as this is
for CI flakiness mostly.
|
|\
| |
| | |
Exunit simplified
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Proactively increase timeout for PBKDF2 test
This test was taking 134s in a recent run, which is uncomfortably close
to the threshold.
* Extend timeouts for all reshard API tests
We're observing timeouts on various tests in this suite so let's keep
it consistent and increase timeouts across the board.
* Bump default timeout for all mem3_reshard tests
A couple of these tests were exceeding the default timeout under normal
circumstances, but many of them do a significant amount of work, so for
simplicity we set a module-wide timeout and apply it consistently
throughout.
* Modernize the sync_security test setup/teardown
This test actually doesn't do much real work, but I think what was
happening is that the setup and teardown time was being charged to the
test itself. I've refactored it to use a more modern scaffolding
following some of our more recent additions to the test suite, but have
left the timeout at the default to test this hypothesis.
* Increase timeouts on more heavyweight mem3 tests
* Extend timeouts for replication tests
|
|
|
|
|
|
|
|
| |
Config setting was asynchronous and the waiting function was not
waiting for the actual state value to change just that the state
function was returning.
The fix is to wait for the config value to propagate to the state.
|
|
|
|
|
|
| |
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.
|