summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Import smoosh from Cloudantimport-smooshRobert Newson2019-02-057-1084/+11
| | | | Remove couch_compaction_daemon and related tests too.
* Force mix rebar/hex/deps get on make elixir (#1894)Joan Touzet2019-02-052-6/+14
|
* Merge pull request #1901 from apache/fix-doc-update-invalid-rev-crashEric Avdey2019-02-052-5/+24
|\ | | | | Fix `badarg` crash on an invalid revision for individual doc update
| * Fix badarg crash on invalid rev for individual doc updatefix-doc-update-invalid-rev-crashEric Avdey2019-02-042-5/+24
|/
* Fix from_json_obj_validate crash when provided rev isn't a valid hexEric Avdey2019-02-042-3/+16
|
* Make from_json_error_cases tests idiomaticEric Avdey2019-02-041-10/+6
|
* Merge pull request #1889 from apache/import-cloudant-ioqRobert Newson2019-02-014-20/+15
|\ | | | | Import IOQ from Cloudant
| * We don't need to verify that erlang:garbage_collect() worksimport-cloudant-ioqRobert Newson2019-02-011-16/+1
| |
| * increase timeout on testRobert Newson2019-02-011-1/+1
| |
| * Run each apps test in a separate processRobert Newson2019-02-011-3/+10
| | | | | | | | This reduces non-causal test failures between apps.
| * Import IOQ from CloudantRobert Newson2019-02-012-1/+4
|/
* add w:3 for lots of docs test (#1893)garren smith2019-02-011-1/+1
|
* formatGarren Smith2019-01-311-1/+5
|
* Add junit formatterGarren Smith2019-01-313-2/+4
| | | | Add the junit formatter so that Jenkins can read the elixir tests
* Change elixir test failing on travisGarren Smith2019-01-311-1/+4
|
* add elixir tests to travisGarren Smith2019-01-313-2/+9
| | | | | Add the elixir test to `make check` and change the build language in travis from erlang to elixir.
* Change enviromental variables not to clash with travisGarren Smith2019-01-312-4/+4
| | | | | Creates EX_USERNAME, EX_PASSWORD and EX_COUCH_URL to manage the elixir test setup.
* fix credo and formatting issues of elixir testsGarren Smith2019-01-319-47/+79
|
* Compaction: Add snooze_period_ms for finer tuning (#1880)Adrien Vergé2019-01-303-8/+72
| | | | | This commit introduces a new option `snooze_period_ms` (measured in milliseconds), and deprecates `snooze_period` while still supporting it for obvious legacy reasons.
* Merge pull request #1886 from apache/fix-pq-db-header-versionPeng Hui Jiang2019-01-3011-165/+41
|\ | | | | Fix partitioned query database header version
| * Fix engine header upgradesfix-pq-db-header-versionPaul J. Davis2019-01-3011-165/+41
|/
* Make it possible to override elixir couchdb settings via environmental variablesGarren Smith2019-01-302-3/+15
|
* Merge pull request #1877 from apache/restrict-purge-adminPeng Hui Jiang2019-01-292-1/+64
|\ | | | | restrict _purge to server admin
| * restrict _purge to server adminrestrict-purge-adminjiangph2019-01-292-1/+64
|/ | | | | | | This restrict _purge and _purged_infos_limit to server admin in terms of the security level required to run them. Fixes #1799
* rename partitions feature to partitioned featureGarren Smith2019-01-281-1/+1
|
* Update config dependency to 2.1.5Nick Vatamaniuc2019-01-241-1/+1
| | | | This fixes inability to set keys with regex symbols in them
* fix test url to fix testGarren Smith2019-01-241-1/+1
|
* Shift to new GH multi-template issue workflow (#1872)Joan Touzet2019-01-234-32/+144
|
* Implement customizable chttpd statisticsPaul J. Davis2019-01-235-18/+206
|
* Make _all_docs and view query limits configurableGarren Smith2019-01-235-22/+155
| | | | | | | | This allows us to set a maximun allowed number of documents to be returned for a global or a partitioned view query and _all_docs query. Co-authored-by: Paul J. Davis <paul.joseph.davis@gmail.com>
* Blacklist known bad Erlang releases, fixes #1857 (#1871)Joan Touzet2019-01-222-1/+39
|
* Update to mochiweb 2.19.0Nick Vatamaniuc2019-01-223-2/+165
| | | | | | | | | | | | | | | | | It has a fix to revert user socket buffer size to 8192 and also allow setting this buffer values directly (not necessarily via {recbuf, ...}). Fixes #1810 Warning: 2.19.0 blacklists a series of OTP releases: 21.2, 21.2.1, 21.2.2 This is done via a runtime check of the ssl application version. The blacklist seems valid as there is a bug which prevents data from being delivered on TSL sockets. That could affect either CouchDB server side (chttpd) or replication client side (ibrowse).
* default config for partition feature flagGarren Smith2019-01-221-0/+7
|
* Add ability to feature flag partitioned db'sGarren Smith2019-01-222-1/+68
|
* Add a test for a doc read with etagEric Avdey2019-01-211-0/+11
|
* Don't crash test on a response without Content-TypeEric Avdey2019-01-211-1/+3
| | | | | | | | Some GET responses (e.g. 304 Not Modified) should not generate representation metadata (e.g. Content-Type) as per rfc7232. This fix allows to process such requests without crashing process response on a regexp over nil.
* add default fabric request timeoutsGarren Smith2019-01-211-0/+5
|
* Add Global timeout for map/reduce queriesGarren Smith2019-01-215-4/+46
| | | | | | | This makes the global timeout for a map/reduce and all_docs request configurable via the config. It separates the config into global queries and partition queries so that it is possible to make the global timeout is for partitioned queries
* Fix python2 compatibility for couchup (#1868)Paulo Eduardo Althoff2019-01-201-1/+1
| | | Closes #1053
* Add new /{db}/_sync_shards endpoint (admin-only) (#1811)Joan Touzet2019-01-183-1/+22
| | | | | | | | | | | | | This server admin-only endpoint forces an n-way sync of all shards across all nodes on which they are hosted. This can be useful for an administrator adding a new node to the cluster, after updating _dbs so that the new node hosts an existing db with content, to force the new node to sync all of that db's shards. Users may want to bump their `[mem3] sync_concurrency` value to a larger figure for the duration of the shards sync. Closes #1807
* Enforce partition size limitsPaul J. Davis2019-01-184-4/+403
| | | | | | | This limit helps prevent users from inadvertently misusing partitions by refusing to add documents when the size of a partition exceeds 10GiB. Co-authored-by: Robert Newson <rnewson@apache.org>
* Use an accumulator when merging revision treesPaul J. Davis2019-01-181-14/+43
| | | | | This cleans up the `couch_db_updater:merge_rev_trees/7` to instead use an accumulator argument.
* Add Elixir tests for database partitionsPaul J. Davis2019-01-1811-3/+2149
| | | | | Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Robert Newson <rnewson@apache.org>
* Support partitioned queries in MangoPaul J. Davis2019-01-1810-11/+182
| | | | | Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Robert Newson <rnewson@apache.org>
* Use index names when testing index selectionPaul J. Davis2019-01-182-29/+28
| | | | | | | | Using the internal hash values for indexes was a brittle approach to ensuring that a specific index was or was not picked. By naming the index and design docs we can more concretely ensure that the chosen indexes match the intent of the test while also not breaking each time mango internals change.
* Optimize offset/limit for partition queriesPaul J. Davis2019-01-185-16/+29
| | | | | | | | | Now that a single shard handles the entire response we can optimize work normally done in the coordinator by moving it to the RPC worker which then removes the need to send an extra `skip` number of rows to the coordinator. Co-authored-by: Robert Newson <rnewson@apache.org>
* Optimize all_docs queries in a single partitionPaul J. Davis2019-01-181-0/+26
| | | | | | | | If a user specifies document ids that scope the query to a single partition key we can automatically determine that we only need to consuly a single shard range. Co-authored-by: Robert Newson <rnewson@apache.org>
* Implement partitioned viewsPaul J. Davis2019-01-1821-61/+384
| | | | | | | | | The benefit of using partitioned databases is that views can then be scoped to a single shard range. This allows for views to scale nearly as linearly as document lookups. Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Robert Newson <rnewson@apache.org>
* Implement `couch_db:get_partition_info/2`Paul J. Davis2019-01-187-2/+203
| | | | | | | | This feature allows us to fetch statistics for a given partition key which will allow for users to find bloated partitions and such forth. Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Robert Newson <rnewson@apache.org>
* Implement partitioned dbsPaul J. Davis2019-01-1814-77/+320
| | | | | | | | | | | | | This change introduces the ability for users to place a group of documents in a single shard range by specifying a "partition key" in the document id. A partition key is denoted by everything preceding a colon ':' in the document id. Every document id (except for design documents) in a partitioned database is required to have a partition key. Co-authored-by: Garren Smith <garren.smith@gmail.com> Co-authored-by: Robert Newson <rnewson@apache.org>