summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into list-search-in-featureslist-search-in-featuresAdam Kocoloski2019-09-251-12/+14
|\
| * 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
* | Include search in the list of advertised featuresAdam Kocoloski2019-09-241-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
* 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
|
* Give resharding more time to completeAdam Kocoloski2019-08-181-2/+2
|
* Extend timeouts for chttpd_view_test suiteAdam Kocoloski2019-08-161-6/+7
| | | | More occasional flakiness on Jenkins.
* Extend timeouts for chttpd_db_test suiteAdam Kocoloski2019-08-161-42/+43
| | | | | | The last 9 tests take a few hundred milliseconds locally and flaked a bit on Jenkins. For consistency's sake we bump the timeout from 5 to 60 seconds across the board.
* Extend timeouts for couch_bt_engine_upgrade_testsAdam Kocoloski2019-08-161-8/+9
| | | | Jenkins flaked out on one of these today.
* Don't try to publish trusty packagesAdam Kocoloski2019-08-161-2/+0
| | | | We aren't building them anymore.
* Ensure EUnit inherits appropriate env varsAdam Kocoloski2019-08-162-4/+4
| | | | | | | | | | | Omitting COUCHDB_VERSION caused the EUnit build of the replicator to have a corrupted User-Agent header. It tried to construct a version using git, but when building from a release tarball there is no git repo so the UA had a git error message in it. This error message contained a newline, which plausibly confused some part of the HTTP stack and caused replicator HTTP requests to hang. Related to #2098.
* Merge pull request #2122 from cloudant/cleanup-after-meckiilyak2019-08-161-0/+4
|\ | | | | Call :meck.unload() automatically after every test
| * Call :meck.unload() automatically after every testILYA Khlopotov2019-08-161-0/+4
|/
* Merge pull request #2105 from cloudant/improve-admin-part-setupiilyak2019-08-161-12/+29
|\ | | | | Do not fail 'dev/run' on connection close
| * Do not fail 'dev/run' on connection closeILYA Khlopotov2019-08-151-12/+29
|/ | | | | | | | | Sometimes admin party mode causes the 'dev/run' to fail with ``` http.client.RemoteDisconnected: Remote end closed connection without response ``` This PR makes this use case more robust.
* Merge pull request #2101 from cloudant/refactor-clean_index_filesiilyak2019-08-153-10/+121
|\ | | | | Refactor fabric:cleanup_index_files
| * Refactor fabric:cleanup_index_filesILYA Khlopotov2019-08-153-10/+121
|/ | | | | Previous implementation assembled a regexp by concatenating active signatures. The approach caused regexp to exceed system limit in the case of huge number of them.
* Merge pull request #2118 from apache/epi-support-map-childspecEric Avdey2019-08-152-12/+27
|\ | | | | Support map childspecs in couch_epi supervisor's children replacement
| * Support map childspecs in couch_epi supervisor's children replacementepi-support-map-childspecEric Avdey2019-08-152-12/+27
|/
* Fix replication rescheduling Running < MaxJobs corner caseNick Vatamaniuc2019-08-141-33/+49
| | | | | | | | | | | | | | | Previously, when total number of replication jobs exceed `MaxJobs`, if some jobs crashed, additional jobs didn't start immediately to bring the running total up to the `MaxJobs` limit. Then, during rescheduling, the `Running == MaxJobs, Pending > 0` guard would fail and jobs would not rotate. In other words, if at least one job crashed, rotation didn't happen. The fix is to simplify the rotation logic to handle the `Running < MaxJobs` case. First, up to `Churn` number of jobs are stopped, then enough jobs are started to reach the `MaxJobs` limit. The rotation logic case handles the `start_pending_jobs/3` case so there is no need to call that separately before rotation happens.
* Merge pull request #2109 from apache/fixup-cleanup-goPeng Hui Jiang2019-08-142-5/+8
|\ | | | | fixup for dreyfus_fabric_cleanup:go/1
| * fixup for dreyfus_fabric_cleanup:go/1fixup-cleanup-gojiangph2019-08-132-5/+8
|/
* Extend timeout for mrview_purge_docs_fabricAdam Kocoloski2019-08-091-5/+5
|
* Increase default HTTP timeoutsAdam Kocoloski2019-08-091-2/+10
| | | | | | | | | These are needed to avoid timeouts on ASF Jenkins build farm. The httpotion client uses ibrowse underneath, and ibrowse has three separate timeouts. We are configuring two of them here: the overall request timeout, and one that detects inactivity on the connection. We set them slightly differently just to be able to differentiate which one fired from the logs.
* Move couch startup to a fixtureAdam Kocoloski2019-08-091-39/+37
| | | | | This improves reliability because that time isn't charged to the test, and also speeds up the test.
* Add timeout for couch_db_split_testsAdam Kocoloski2019-08-091-1/+2
| | | | | The "Should copy local docs after split in four" test was occasionally timing out in CI.