summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add an "encryption" object to db infoaegis_db_infoRobert Newson2020-11-064-1/+29
| | | | | | The encryption object contains a boolean "enabled" property. Additional properties might be added by the key manager which will appear in the "key_manager" sub-object.
* Merge pull request #3240 from Antonio-Maranhao/update-fauxton-make-targetAntonio Maranhao2020-11-032-2/+2
|\ | | | | Remove '--production' flag when building Fauxton
| * Remove '--production' flag when building FauxtonAntonio Maranhao2020-11-022-2/+2
|/ | | | | | | Since https://github.com/apache/couchdb-fauxton/pull/1299 only runtime dependencies are installed when using 'npm install --production'. To correctly build the Fauxton release, one must install all dependencies with 'npm install'.
* Jenkins: do not alwaysPull true (#3234)Joan Touzet2020-10-292-14/+0
|
* Use snapshot for cache insertionpost-fdb-mergeJay Doane2020-10-261-1/+2
| | | | | | | | | Too many parallel attempts to insert the same keys can result in `{erlfdb_error, 1020}`, which translates to: "Transaction not committed due to conflict with another transaction" This attempts to mitigate the problem by using a snapshot to read the primary key during insertion.
* Fix dialyzer warningsJay Doane2020-10-263-5/+7
| | | | Fix specs to eliminate dialyzer warnings.
* Merge pull request #3227 from cloudant/fix-total_rows-semanticsiilyak2020-10-262-50/+23
|\ | | | | Fix semantics of total_rows
| * Fix semantics of total_rowsILYA Khlopotov2020-10-222-50/+23
| | | | | | | | | | | | | | | | | | The `total_rows` field suppose to be a number of documents in the database/view. See https://docs.couchdb.org/en/stable/api/ddoc/views.html. When new pagination API was introduced the meaning of `total_rows` field was changed to number of rows in the query results. The PR reverts this accidental change.
* | Remove debug loggingPaul J. Davis2020-10-211-3/+0
| |
* | Fix empty reduce output to match 3.x behaviorPaul J. Davis2020-10-212-22/+7
| | | | | | | | | | | | | | | | Before this change a reduce call that contained no rows would end up returning the "default" value of the given reduce function which is whatever it would return when given an empty array as input. This changes the behavior to return `{"rows": []"}` when there are no rows in the requested range.
* | update to latest fauxton 1.2.6 (#3134)garren smith2020-10-211-1/+1
| | | | | | Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
* | convert erlfdb_error 2101 to transaction_too_large (#3222)Peng Hui Jiang2020-10-212-0/+23
| |
* | Allow for disabling custom reduce functionsPaul J. Davis2020-10-206-5/+240
| | | | | | | | | | | | | | This changes allows administators to disable custom JavaScript reduce functions. Custom reduce functions are notoriously difficult to write correctly and most of the time when written correctly would be more efficiently done using an builtin reduce.
* | Fix apache/couchdb#1988 - Validate attachment namesJuanjo Rodriguez2020-10-203-18/+16
| |
* | Fix boolean POST to view-like endpointsBessenyei Balázs Donát2020-10-201-0/+18
| |
* | add missing applications to reltool.configRobert Newson2020-10-161-0/+12
| |
* | Direct people to Discussions/docs from new issue (#3216)Joan Touzet2020-10-141-0/+14
| |
* | Fix boolean POST to view-like endpointsBessenyei Balázs Donát2020-10-133-4/+34
| |
* | Removed unused variable in merge headers unit testNick Vatamaniuc2020-10-121-1/+0
| | | | | | | | `Headers1` is not used anywhere
* | Properly combine base and extra headers when making replicator requestsNick Vatamaniuc2020-10-101-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | Previously we subtly relied on one set of headers being sorted, then sorted the other set of headers, and ran `lists:ukeymerge/3`. That function, however, needs both arguments to be sorted in order for it to work as expected. If one argument wasn't sorted we could get duplicate headers easily, which is what was observed in testing. A better fix than just sorting both sets of keys, is to use an actual header processing library to combine them so we can account for case insensitivity as well.
* | minor INSTALL.Unix.md patches (#2536)Joan Touzet2020-10-091-20/+22
| |
* | Do not shortcut replicator job initialization if replication ID matchesNick Vatamaniuc2020-10-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | Previously there was an attempt to shortcut some of the job initialization if replication ID in the job data and the newly computed one matched. However, that logic was wrong as it skipped over the job data state update. The effect was that if a job was in a pending state, and it re-initialized, say when a node restarted, its job data would still indicate it as "pending" until the next checkpoint. If the job is continuous, and there are no more updates on the source, the state of the job would stay in "pending" indefinitely.
* | Fixes to CI process for main branch (#3204)Joan Touzet2020-10-072-3/+3
| |
* | Remove JS tests + support for harness (#3197)Joan Touzet2020-10-07144-18832/+30
| |
* | Enable merge commits to mainRobert Newson2020-10-071-1/+1
| |
* | Remove javascript tests from main build processJuanjo Rodriguez2020-10-072-2/+0
| |
* | port users_db_security tests to elixirJuanjo Rodriguez2020-10-074-7/+540
| |
* | Complete the port of security_validation tests to ElixirJuanjo Rodriguez2020-10-072-132/+118
| |
* | Port show_documents and list_views to ElixirJuanjo Rodriguez2020-10-075-4/+1033
| |
* | Add module tag to elixir test cases (#3178)Peng Hui Jiang2020-10-0710-0/+10
| | | | | | | | | | Some elixir test cases don't have actual module tag. Add tags to help include or exclude them in CI test.
* | port rewrite and rewrite_js tests into elixirJuanjo Rodriguez2020-10-077-116/+691
| |
* | Preserve query string rewrite when the request contains a bodyJuanjo Rodriguez2020-10-072-1/+18
| |
* | Properly initialize `user` in replication job's stateNick Vatamaniuc2020-10-061-2/+4
| | | | | | | | | | This value is emitted in _active_tasks and was previously emitting `null` values from the state record's defaults.
* | simplify max_document_size commentRobert Newson2020-10-061-4/+2
| |
* | Keep auth properties as a map in replicator's httpdb recordNick Vatamaniuc2020-10-053-3/+6
| | | | | | | | | | | | | | | | | | | | Previously there was an attempt to keep backwards compatibility with 3.x replicator plugins by transforming the auth into a proplist with `maps:to_list/1`. However, that didn't account for nested properties, so we could have ended up with a top level of props with maps for some values. Instead of making things too complicating, and doing a nested transform to proplists, just keep the auth object as a map and let the plugins handle the compatibility issue.
* | Add node and pid to _scheduler/jobs outputNick Vatamaniuc2020-09-301-2/+6
| | | | | | | | | | | | This is mainly for compatibility with CouchDB 3.x Ref: https://docs.couchdb.org/en/stable/api/server/common.html#scheduler-jobs
* | Fix error reporting when fetching replication filtersNick Vatamaniuc2020-09-303-6/+18
| | | | | | | | | | | | | | | | | | | | | | Don't unnecessarily unwrap the fetch error since `error_info/1` can already handle the current shape. Also, make sure to translate the reason to binary for consistency with the other filter fetching errors in the `couch_replicator_filters` module. Add a test to ensure we return the `filter_fetch_error` term as that is explicitly turned into a 404 error in chttpd, so we try to maintain compatibility with CouchDB <= 3.x code.
* | Fix transient replication job state wait logicNick Vatamaniuc2020-09-301-1/+3
| | | | | | | | | | | | | | | | Make sure to handle both `finished` and `pending` states when waiting for a transient jobs. A transient job will go to the `failed` state if it cannot fetch the filter from the source endpoint. For completeness, we also account for `pending` states in there in the remote chance the job get rescheduled again.
* | Optimizations for reading reduce viewsPaul J. Davis2020-09-301-1/+6
| | | | | | | | | | These are a few micro optimizations to avoid unnecessary work when reading from a single reduce function during a view read.
* | Add elixir tests for builtin reduce group levelsGarren Smith2020-09-301-0/+549
| |
* | Add test suite for reduce viewsPaul J. Davis2020-09-301-0/+745
| |
* | Use ebtree for reduce functionsPaul J. Davis2020-09-304-38/+327
| |
* | Upgrade legacy viewsPaul J. Davis2020-09-304-41/+551
| |
* | Reimplement db wide view size trackingPaul J. Davis2020-09-303-529/+357
| |
* | Views on ebtreePaul J. Davis2020-09-3016-485/+687
| |
* | Export fabric2_fdb:chunkify_binary/1,2Paul J. Davis2020-09-301-15/+18
| |
* | Workaround dirty schedulers in run_queue stats (#3168)Russell Branca2020-09-231-2/+15
| |
* | Fix include directive in couch_views_batch_implPaul J. Davis2020-09-211-1/+1
|/ | | | This fixes compilation if CouchDB is used as a dependency.
* Fix bug in ebtree:umerge_members/4Paul J. Davis2020-09-171-1/+17
| | | | | Caught during Elixir tests. I've added a unit test to `ebtree.erl` to ensure we don't regress in the future.
* Fix flaky couch_replicator_job_server testsNick Vatamaniuc2020-09-171-6/+18
| | | | | Job exits are asynchronous so we ensure we wait for exit signals to be handled before checking the state.