summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update ken to 1.0.5ken-1.0.5Robert Newson2019-10-181-1/+1
| | | | * Always include 'query' as an allowed language
* Merge pull request #2260 from apache/ken-query-serversRobert Newson2019-10-174-34/+5
|\ | | | | export get_servers_from_env/1 for ken
| * export get_servers_from_env/1 for kenken-query-serversRobert Newson2019-10-174-34/+5
|/ | | | | Also remove the tests to detect that background index building didn't happen, cause it does now.
* Merge pull request #2257 from apache/fauxton-1.2.2Will Holley2019-10-161-1/+1
|\ | | | | Update Fauxton to 1.2.2
| * Update Fauxton to 1.2.2fauxton-1.2.2Will Holley2019-10-151-1/+1
|/ | | Explicitly installs peer dependencies, the lack of which were causing the webpack bundling to fail.
* Stop creating node local _replicator dbNick Vatamaniuc2019-10-104-41/+0
| | | | | | We don't support "local" replications in 3.x so there is not need to waste resources creating this db on every node, and then continuously listening for replication doc updates from it.
* Merge pull request #2250 from apache/fauxton-1.2.1Will Holley2019-10-101-1/+1
|\ | | | | Update Fauxton to 1.2.1
| * Update Fauxton to 1.2.1fauxton-1.2.1Will Holley2019-10-101-1/+1
|/ | | Fauxton 1.2.0 failed to compile on some platforms. 1.2.1 is a patch release which updates the webpack dependency to address this.
* Merge pull request #2248 from apache/remove-externalsRobert Newson2019-10-095-281/+0
|\ | | | | Remove "externals"
| * Merge branch 'master' into remove-externalsremove-externalsAdam Kocoloski2019-10-091-2/+2
| |\ | |/ |/|
* | Update fauxton to version 1.2.0 (#2247)Will Holley2019-10-091-2/+2
| |
| * Remove "externals"Robert Newson2019-10-085-281/+0
|/ | | | | | | Remove all the plumbing that enabled `_external/` request handling, leaving only the functions necessary for `list` and `show`. closes https://github.com/apache/couchdb/issues/2166
* Merge pull request #2240 from cloudant/issue/985-continious-feed-blockingiilyak2019-10-072-19/+54
|\ | | | | Return headers from _changes feed when there are no changes
| * Return headers from _changes feed when there are no changesILYA Khlopotov2019-10-072-19/+54
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem ------- The request of continious _changes feed doesn't return until either: - new change is made to the database - the heartbeat interval is reached This causes clients to block on subscription call. Solution -------- Introduce a counter to account for number of chunks sent. Send '\n' exactly once on `waiting_for_updates` when `chunks_sent` is still 0. The implementation is suggested by @davisp [here](https://github.com/apache/couchdb/issues/985#issuecomment-537150907). There is only one difference from his proposal which is: ``` diff --git a/src/chttpd/src/chttpd_db.erl b/src/chttpd/src/chttpd_db.erl index aba1bd22f..9cd6944d2 100644 --- a/src/chttpd/src/chttpd_db.erl +++ b/src/chttpd/src/chttpd_db.erl @@ -215,7 +215,7 @@ changes_callback(waiting_for_updates, #cacc{buffer = []} = Acc) -> true -> {ok, Acc}; false -> - {ok, Resp1} = chttpd:send_delayed_chunk(Resp, []), + {ok, Resp1} = chttpd:send_delayed_chunk(Resp, <<"\n">>), {ok, Acc#cacc{mochi = Resp1, chunks_sent = 1}} end; changes_callback(waiting_for_updates, Acc) -> ```
* Merge pull request #2228 from apache/update-couchdb-defaultsRobert Newson2019-10-042-3/+3
|\ | | | | Update default config settings
| * Merge branch 'master' into update-couchdb-defaultsRobert Newson2019-10-041-7/+2
| |\ | |/ |/|
* | Merge pull request #2229 from apache/ping-clouseau-directlyRobert Newson2019-10-031-7/+2
|\ \ | | | | | | Ping clouseau directly
| * | Ping clouseau directlyping-clouseau-directlyRobert Newson2019-10-031-7/+2
| | | | | | | | | | | | | | | This change eliminates IOQ from the test path for clouseau connectivity.
| | * Update default config settingsupdate-couchdb-defaultsRobert Newson2019-10-042-3/+3
| |/ |/| | | | | | | | | | | q=2 max_document_size = 8000000 ; 8 MB. https://github.com/apache/couchdb/issues/2115
* | Merge pull request #2217 from apache/fauxton-1.1.20Robert Newson2019-10-031-1/+1
|\ \ | |/ | | Update fauxton to version 1.1.20
| * Update fauxton to version 1.1.20fauxton-1.1.20Robert Newson2019-10-021-1/+1
|/
* Remove delayed commits optionNick Vatamaniuc2019-09-2634-268/+32
| | | | | | | | | | | | | | This effectively removes a lot couch_db:ensure_full_commit/1,2 calls. Low level fsync configuration options are also removed as it might be tempting to start using those instead of delayed commits, however unlike delayed commits, changing those default could lead to data corruption. `/_ensure_full_commit` HTTP API was left as is since replicator from older versions of CouchDB would call that, it just returns the start time as if ensure_commit function was called. Issue: https://github.com/apache/couchdb/issues/2165
* Include search in the list of advertised features (#2206)Adam Kocoloski2019-09-251-1/+9
| | | | | | | | | | | | | | The reason we don't do this in config:features() directly is because this one is a dynamic check for the presence of a connected clouseau node. Calling `enable_feature` every time we conduct that check seemed too heavyweight, but I didn't see a good opportunity to just call it once and be confident that it would reliably advertise the feature. The downside here is that CouchDB will not advertise the "search" feature if Clouseau is disconnected for maintenance or whatever, although technically it's accurate since search requests submitted during that interval would fail. Closes #2205
* Remove old multi-query path (#2173)Adam Kocoloski2019-09-241-12/+14
| | | | | | | Users should send requests with multiple queries to the new endpoint: /db/_design/{ddoc}/_view/{view}/queries Closes #2168
* Bump to 3.0.0Joan Touzet2019-09-232-3/+3
|
* feat: do not run stats aggregations on an intervalJan Lehnardt2019-09-201-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to 448be7996999a706464d8f7429a56dc9e9c87c3a (hello 0.10.1), `timer:{send,apply}_interval()` will apply functions / send messages for all intervals that match the time that a machine was in sleep / hibernation mode that is common on desktop systems. In a typical office scneario, a laptop system that sleeps over a weekend , when woken up on a monday, issue thousands of function calls, that together with other, unrelated wake-up activity, make a machine top out its CPU for no good reason. The change addresses this by instead of relying on an interval to start a given task, on startup, start the task once after a timeout, and then start a fresh timer after the task is done. Other than the 0.10-era patch, this one does not account for a system waking up before the timeout. I’m happy to add that behaviour, if a reviewer insists on it. As a result, no matter how long the sleep period is, we only run the desired function _once_ after we wake up again. In the never- sleep scenario, the existing behaviour is retained. This might impact metrics that have a time component, but I think that’s a fair compromise, so I didn’t investigate that further.
* Remove deprecated dbinfo fields (#2163)Adam Kocoloski2019-09-1810-65/+21
| | | | These fields are all marked as deprecated in the current documentation and they have more specific replacements in the `sizes` object.
* Merge pull request #2189 from jamieluckett/masterPeng Hui Jiang2019-09-171-1/+1
|\ | | | | Fix typo in couch_mrview comment
| * Fix typo in couch_mrview commentJamie Luckett2019-09-161-1/+1
|/
* Improve credential stripping for replication document readsNick Vatamaniuc2019-09-122-2/+16
| | | | | | | | | Allow a special field for plugin writers to stash endpoint credentials, which gets the same treatment as headers and user:pass combinations for already existing plugins (session, noop aka basic auth). Instead of complicating the plugin API, use a simple convention of just calling it "auth" for now.
* Merge pull request #2183 from cloudant/add-extra-arguments-to-beamiilyak2019-09-101-1/+15
|\ | | | | Support `--extra_args` parameter in `dev/run`
| * Support `--extra_args` parameter in `dev/run`ILYA Khlopotov2019-09-101-1/+15
|/ | | | | | | | | | | | | | | | | | | Sometimes there is a need to specify additional arguments for the beam process we start from dev/run. In particular the feature is handy for: - changing emulator flags - simulate OOM via available RAM restrictions - enable module loading tracing - configure number of schedulers - modify applications configuration - run customization script to add extra development deps (such as automatic code reload) Historically developers had to edit dev/run to do it. This PR adds an ability to specify additional arguments via `--extra_args` argument. In order to run customization script create `customization.erl` which exports `start/0` and run it using: ``` dev/run --extra_args='-run customization' ```
* Merge pull request #2178 from apache/fabric-cleanup-view-filesPeng Hui Jiang2019-09-101-1/+6
|\ | | | | do not cleanup ongoing compact files using fabric:cleanup_index_files/1
| * fixup fabric:cleanup_index_filesfabric-cleanup-view-filesjiangph2019-09-101-1/+6
|/
* feat: less scary error messageJan Lehnardt2019-09-091-0/+3
|
* Merge pull request #2157 from sarveshtamba/masteriilyak2019-08-301-0/+3
|\ | | | | Skipping CompactTest due to compaction failure
| * Skipping CompactTest due to compaction failuresarveshtamba2019-08-301-0/+3
|/
* Merge pull request #2153 from apache/fix-all-docs-timeoutEric Avdey2019-08-281-2/+7
|\ | | | | Fix badmatch in fabric_view_all_docs
| * Fix badmatch in fabric_view_all_docsfix-all-docs-timeoutEric Avdey2019-08-281-2/+7
|/ | | | | | | | In query for all_docs with passed keys array it is possible for `doc_receive_loop/6` to timeout and trigger `badmatch` exception. The fix changes code to to accept `timeout` as a possible response and passes it to Callback to process.
* Merge pull request #2138 from apache/keep-dbprop-after-rewriting-shardmapPeng Hui Jiang2019-08-242-1/+39
|\ | | | | Keep database property after overwriting shard map
| * Keep database property after overwriting shard mapkeep-dbprop-after-rewriting-shardmapjiangph2019-08-242-1/+39
|/
* Merge pull request #2137 from apache/mango-search-error-400-500Robert Newson2019-08-231-1/+1
|\ | | | | Send a 500, not a 400, for unknown search errors
| * Send a 500, not a 400, for unknown search errorsmango-search-error-400-500Robert Newson2019-08-231-1/+1
|/ | | | | We should only send a 400 Bad Request if there is genuinely something wrong with the request, otherwise we mislead users and sysadmins.
* Fix _scheduler/docs response for local replication endpointsNick Vatamaniuc2019-08-202-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the `_scheduler/docs` response is generated, the replication docs are parsed and credentials are stripped by `couch_replicator:strip_url_creds/1`. When local endpoint support was removed, that function didn't properly catch the parsing error for local endpoints and as a result was error-ing out the whole response. The fix is to catch the error and return the endpoint as is. The catch is specific to that error, so turned the long binary message into a shorter, but hopefully still obvious atom. `_scheduler/docs` response would look like: ``` { "docs": [ { "database": "_replicator", "doc_id": "r", "error_count": 1, "id": null, "info": "local_endpoints_not_supported", "last_updated": "2019-08-20T16:09:53Z", "source": "http://adm:*****@127.0.0.1:15984/s/", "start_time": "2019-08-20T16:09:53Z", "state": "failed", "target": "t" } ], "offset": 0, "total_rows": 1 } ``` Interestingly, there was already a test for this case, except it wasn't included in the EUnit test suite list.
* Merge pull request #2126 from cloudant/update-httpotioniilyak2019-08-193-117/+34
|\ | | | | Update httpotion to 3.1.3
| * Increase default HTTP timeoutsILYA Khlopotov2019-08-191-13/+31
| | | | | | | | | | | | This commits ports `couch.ex` related chages from https://github.com/apache/couchdb/pull/2104 into the world where we don't override `process_arguments/3`
| * Update httpotion to 3.1.3ILYA Khlopotov2019-08-193-104/+3
|/ | | | | | | | There were couple of hacks in test/elixir/lib/couch.ex We've got changes needed to remove them into httpotion 3.1.3. The changes were introduced in: - https://github.com/myfreeweb/httpotion/pull/118 - https://github.com/myfreeweb/httpotion/pull/130
* Refactor test to keep setup/teardown out of timerAdam Kocoloski2019-08-181-8/+11
|
* Extend timeout on shard splitting testAdam Kocoloski2019-08-181-1/+1
|
* Bump default timeout for retry_untilAdam Kocoloski2019-08-181-1/+1
|