| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| | |
This test has been failing randomly on Jenkins across multiple PRs. This
adds more context to the error that causes the test to fail.
|
| |
| |
| |
| |
| |
| | |
Recently we've been seeing the `couchjs` test runner exiting without
displaying a traceback of an error. This logs the exit code of the OS
process to see if that gives any insight into why its exiting.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous implementation of Mango execution stats relied on
passing the docs_examined count from each shard to the coordinator
in the view_row record. This failed to collect the count of
documents read which weren't followed by a match (in a given shard).
For example, if an index was scanned but no documents were matched,
the docs_examined would be 0, when it should be equal to the number
of documents in the index.
This commit changes the implementation so that docs examined is passed
only when each shard has completed its index scan.
The work is split into 2 commits to support mixed-version cluster
upgrades - the previous commit adds the message handlers only
so can be safely rolled out without breaking in-flight requests.
|
| |
| |
| |
| |
| | |
Adds message handlers to mango / all_docs / mrview fabric
to recieve an execution_stats message.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
This PR drops Debian jessie, adds Debian buster, and adds CentOS 8 to the binary platform build matrix on master.
|
| |
| |
| | |
Fixes #2404
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add config variable chttpd.require_valid_user_except_for_up defaulting
to false.
This will allow various automated health check systems to hit /_up
without having to provide a username/password pair when the
chttpd.require_valid_user config setting is true. Apparently, many
of these health check providers do not even allow supplying creds
for such a purpose...
Closes #823
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Also lower the default stream_limit to 5 based on the results of
performance testing.
Co-authored-by: Adam Kocoloski <kocolosk@apache.org>
Co-authored-by: Kyle Snavely <kjsnavely@gmail.com>
|
| |
| |
| |
| |
| |
| | |
The `batch_doc(Doc)` code was previously used for local endpoints when flushing
docs with attachments. After that code was removed, the `remote_doc_handler/2`
filters out all docs with attachments before they even get to the doc flusher
so batch_doc(Doc) effectively is always returns `true`.
|
| |
| |
| |
| | |
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| | |
Adam K noticed that we aren't setting the session cookie correctly which
appears to have made this test fail randomly. Why its random and not
consistent is currently unknown.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit:
* Removes Travis CI from the build (no more .travis.yml)
* Moves Jenkinsfile to `build-aux/Jenkinsfile.full` and updates the version
of Erlang used in all steps to `20.3.8.24-1` (Erlang Solutions
packages).
* Introduces a new `build-aux/Jenkinsfile.pr` that just builds
CouchDB against the 3 most important versions of Erlang,
intended for use when building PRs, using a special
`debian-buster-erlang-all` image that has `kerl` builds of those 3
versions of Erlang:
* the oldest supported
* the version we release our binary convenience builds with
* the latest supported
* Builds against SpiderMonkey 60 on the platforms where it is available
(currently, only Debian buster)
* Updated README file with new, dynamic Jenkins embeddable build status
badge
|
| |
| |
| |
| |
| |
| | |
Apparently SpiderMonkey 60 changed the behavior of OOM errors to not
exit the VM. This updates the SpiderMonkey 60 implementation to match
that behavior.
|
| |
| |
| |
| |
| | |
This test is actually checking the behvior of an OOM in `couchjs` now
since we lifted the OS process timeout limit.
|
| |
| |
| |
| |
| |
| | |
This avoids the 1.2s pause between tests to save time during the test
suite. All ported tests are also logged to measure our progress porting
the JS test suite.
|
| |\
| | |
| | | |
Bring IOQ in tree
|
| | |
| | |
| | |
| | |
| | | |
The hqueue dependency is only needed for experimental IOQ2 functionality
that is not included in the codebase we're bringing into the mainline.
|
| | | |
|
| | |\
| |/ /
| | |
| | |
| | |
| | | |
git-subtree-dir: src/ioq
git-subtree-mainline: c8a5757c33c8f782d935fce2f804cb745bf77b4a
git-subtree-split: e641a740978447f0b29785580e46d2e30e822001
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch allows an administrator to configure a "bypass" which
will cause a particular class of IO to be submitted directly to the
file descriptor or OS process instead of going through the IO queueing
mechanism. Installing a bypass can result in higher throughput and
lower latency, at the expense of less control over the stability of the
system.
A bypass is configured via the `ioq.priority` configuration block:
[ioq.bypass]
read = true
write = true
compaction = false
This configuration will cause user-submitted read IO to be submitted
directly. At this time the following classes are available:
- os_process
- read
- write
- view_update
- shard_sync
- compaction
This also expands the "compaction" queue to be a general-purpose
"background" queue that handles IO for both compaction and internal
replication (aka shard_sync). The other four classes are handled by the
"interactive" queue. As before, the [ioq] ratio setting determines the
likelihood that background IO will be selected ahead of interactive IO
when both queues are non-empty.
|
| | |\
| | | |
| | | |
| | | | |
Fixes #6
|
| | |/ |
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
This closes #5
Signed-off-by: Eric Avdey <eiri@eiri.ca>
|
| | |/
| | |
| | |
| | |
| | |
| | | |
We are subscribing both ioq and ioq_sup to config_event,
but while ioq is actually processing config changes,
ioq_sup just sends uncatched messages to unexisting ioq_server.
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
This closes #4
Signed-off-by: ILYA Khlopotov <iilyak@ca.ibm.com>
|
| | | |
| | | |
| | | |
| | | | |
COUCHDB-3102
|
| | |/
| | |
| | |
| | | |
COUCHDB-3102
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
This closes #3
COUCHDB-2561
|
| | | |
| | | |
| | | |
| | | | |
COUCHDB-2561
|
| | |/
| | |
| | |
| | | |
COUCHDB-2561
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |
| |
| |
| |
| | |
This is substantively the work from branch 1775-feature-io-regulator
but with erlang application paraphenalia.
|
| | |
|
| |
| |
| |
| |
| |
| | |
* fix: avoid segfaults, patch by @davisp
* fix: build against sm60 on mac needs extra compiler flags
|
| |
| |
| | |
Closes #1567
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In a VM with lots of processes couch_server can end up slowing down
purely to not being scheduled which in turn will cause its message queue
to backup. We've attempted this before but due to message passing have
never seen it have a significant effect. However, now that we're
actively avoiding synchronous message passing inside the man loop this
has a significant effect by being able to process messages as soon as it
has one in its mailbox.
|
| |
| |
| |
| |
| |
| |
| | |
This moves the database name check and engine lookup into the open_async
process. There's no reason that this work had to happen in the main loop
so we can easily move the regex and engine lookups out of the loop to
minimize the work per handle_call even further.
|
| |
| |
| |
| |
| | |
We can track the open latencies from the async_open process so that
couch_server does not have to perform the update in its main loop.
|
| |
| |
| |
| |
| | |
Even when disabled these logs can take a non-trivial amount of
reductions which can add extra suspensions to couch_server's main loop.
|