| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Previously the sort and copy phases when handling document IDs was not
measured in _active_tasks. This adds size tracking to allow operators a
way to measure progress during those phases.
I'd like to thank Vitaly for the example in #1006 that showed a clean
way for tracking the size info in `couch_emsort`.
Co-Authored-By: Vitaly Goot <vitaly.goot@gmail.com>
|
|
|
|
|
|
|
|
| |
This updates couch_db_updater to use the new multi-IO API functions
(append_terms/pread_terms) in couch_file. This optimization benefits us
by no longer requiring the `couch_emsort:merge/1` step to copy
`#full_doc_info{}` records multiple times while also not being penalized
by signficantly increasing the number of calls through couch_file APIs.
|
|
|
|
|
| |
This uses the new couch_file:append_terms/2 function to write all chunks
in a single write call.
|
|
|
|
|
|
|
| |
These functions allow the caller to append multiple terms or binaries to
a file and receive the file position and size for each individual
element. This is to optimize throughput in situations where we want to
write multiple pieces of independant data.
|
| |
|
|
|
|
|
|
|
| |
This change adds a new `#comp_st{}` record that is used to pass
compaction state through the various compaction steps. There are zero
changes to the existing compaction logic. This merely sets the stage for
adding our docid copy optimization.
|
| |
|
| |
|
|
|
| |
Move "users_db_security_editable" to the correct location in the ini file
|
|
|
| |
Send correct seq values for filtered changes
|
|
|
| |
Set cookie domain when DELETE'ing
|
|
|
| |
Fix create db options on secondary shard creation
|
|\
| |
| | |
Backport jwt 3.x
|
| |
| |
| | |
Enhance JWT controls (again)
|
| |
| |
| | |
Only trust the servers declaration of JWT key type
|
| |
| |
| |
| | |
Make the JWT roles claim more CouchDB specific
|
| |
| |
| | |
Jwt enhancements
|
| |
| |
| |
| |
| |
| | |
Add JWT Authentication Handler
Co-authored-by: Robert Newson <rnewson@apache.org>
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
|
| |
| |
| | |
Throw if an unknown check is passed to jwtf:decode
|
| |
| |
| | |
Enhance alg check
|
|/
|
| |
Import jwtf
|
|
|
|
| |
Co-authored-by: Robert Newson <rnewson@apache.org>
|
|
|
|
|
|
| |
This copy slowed down the `erlang:spawn_link/3` call considerably.
Measurements in the wild showed the cost of that `spawn_link/3` going
from roughly 8 uS to 800 uS.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Port elixir proxyauth tests from js to elixir (#2660)
* Add support for specify a custom config file for CouchDB startup during testing
|
|
|
|
|
|
| |
(#2596) (#2628)
* Port _design_docs tests from js to elixir
* Port design_options and design_paths tests from js to elixir
|
| |
|
|\
| |
| | |
Port form submit test to elixir in 3.x branch
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously concurrent db creation requests could get past db_exists/1 and try
to create the shard document. The first one would succeed but the others would
fail with a `500 {"error":"error", "reason":"conflict"}` error instead of
`412`.
Handle the race condition by checking if db exists after getting a conflict
error and return a 412 response.
Fixes: #2613
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's a race between the meck:wait call in setup and killing the
config_event process. Its possible that we could kill and restart the
config_event process after meck:wait returns, but before
gen_event:add_sup_handler is called. More likely, we could end up
killing the config_event gen_event process before its fully handled the
add_sup_handler message and linked the notifier pid.
This avoids the race by waiting for config_event to return that it has
processed the add_sup_handler message instead of relying on meck:wait
for the subscription call.
|
| |
|
|\
| |
| | |
Port changes.js test suite into elixir (sync with master)
|
|/ |
|
| |
|
|
|
|
| |
This reverts commit afef1b2f5823f6269ecb4a845e286e9d0c0f4f35.
|
| |
|
| |
|
|
|
|
| |
Co-authored-by: Jan Lehnardt <jan@apache.org>
|
| |
|
|
|
|
|
|
| |
After commit 27bb45043435828915bdcbdc130b685e5533bbd8 local _users is only
created the first time it is used. So in most case it's expected to not exist.
Update local_dbs to return it only if it is actually created.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Allows `configure.ps1` to correctly pull and build `rebar` on Windows
* Removes the static declarations in `rebar.config.script` on
specific, pre-determined paths to various includes/libraries
necessary for NIFs and external binaries (expectation is these are
passed in env vars INCLUDE, LIB and LIBPATH)
* fixes the SM60 `couchjs` build by telling `windows.h` not to
redefine min and max as macros through a `#define`
* fixes the `make eunit` target on Windows
* Adds the missing `EXE_LINK_CXX_TEMPLATE` that our rebar doesn't have,
but `enc` has today, which is also causing a failed `couchjs` (C++)
build on Windows
* Causes `make python-black` to correctly cause failure in `make check`
if it finds problems
* fixes Mango tests on Python 3.8 by bumping the hypothesis dependency
* fixes one Elixir test on Windows (incorrect calculation of `now(:ms)`
due to Erlang clock precision difference)
* a little bit of python black cleanup (mango tests)
|