summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Enhance PSE tests with setup/teardown functionsCOUCHDB-3326-clustered-purge-pr3-refactor-pse-testsPaul J. Davis2018-08-2111-195/+290
|
* Update to use new couch_pse_tests appPaul J. Davis2018-08-212-1/+2
|
* Update PSE test definitions for new util modulePaul J. Davis2018-08-219-140/+140
|
* Rename PSE test modulesPaul J. Davis2018-08-2110-47/+22
|
* Move PSE tests to their own appPaul J. Davis2018-08-2111-0/+20
|
* Rewrite the PSE test suite to use couch_serverPaul J. Davis2018-08-2111-722/+713
| | | | | | | It turns out that if any storage engine has to open itself during a callback it would end up violating the guarantee of a single writer. This change in the test suite changes things to use couch_server so that storage engines are now free to do as they want reopening themselves.
* Merge pull request #1570 from ↵Peng Hui Jiang2018-08-211-10/+9
|\ | | | | | | | | apache/COUCHDB-3326-clustered-purge-pr2-simplify-mem3-rep Simplify logic in mem3_rep
| * Simplify logic in mem3_repCOUCHDB-3326-clustered-purge-pr2-simplify-mem3-repPaul J. Davis2018-08-211-10/+9
|/ | | | | | Previously there were two separate database references and it was not clear which was used where. This simplifies things by reducing it to a single instance so that the logic is simpler.
* Merge pull request #1366 from ↵Peng Hui Jiang2018-08-215-330/+322
|\ | | | | | | | | apache/COUCHDB-3326-clustered-purge-pr1-misc-cleanup [1/5] Clustered Purge - Misc Cleanup
| * Update fabric_doc_open eunit testsPaul J. Davis2018-08-211-321/+310
| | | | | | | | Modernize and fix the eunit tests in fabric_doc_open.erl
| * Fix race on couch_db:reopen/1Paul J. Davis2018-08-211-2/+5
| | | | | | | | | | | | This fixes a minor race by opening the database before closing it. This was never found to be an issue in production and was just caught while contemplating the PSE test suite.
| * Fix default security object handlingPaul J. Davis2018-08-211-1/+1
| | | | | | | | | | | | | | | | There's a race where if a database is opened with a default_security set and it crashes before first compact, and is then reopened after the default_security option has changed that it will pick the second security option. This change fixes the relatively obscure bug that was only found during testing.
| * Fix bug during purgePaul J. Davis2018-08-211-1/+1
| |
| * Fix typos in couch_db_engine.erlPaul J. Davis2018-08-211-5/+5
|/
* Merge pull request #1543 from cloudant/implement-node-restartiilyak2018-08-166-31/+29
|\ | | | | Add `POST /_node/$node/_restart` endpoint
| * Remove no longer needed handle_restart_req handlerILYA Khlopotov2018-08-151-22/+1
| |
| * Remove _restart endpoint from non-clustered interfaceILYA Khlopotov2018-08-151-1/+0
| |
| * Remove special handling of 'restart' from 'test/javascript/run'ILYA Khlopotov2018-08-151-5/+1
| |
| * Use "/_node/<node>/_restart" from JavaScript testsILYA Khlopotov2018-08-151-1/+10
| |
| * Calculate uptime since application start instead of a beam startILYA Khlopotov2018-08-152-2/+11
| |
| * Add `POST /_node/$node/_restart` endpointILYA Khlopotov2018-08-151-0/+6
|/ | | | | | We need to be able to restart CouchDB from integration test suite. We used to have this feature, but it was removed. This PR brings this functionality back under `/_node/$node/_restart`.
* Reduce size of #leaf.atts keysNick Vatamaniuc2018-08-151-2/+8
| | | | | | | | | | | | | | | | | | | `#leaf.atts` data structure is a `[{Position, AttachmentLength}, ...]` proplist which keeps track of attachment lengths and it is used when calculating external data size of documents. `Position` is supposed to uniquely identify an attachment in a file stream. Initially it was just an integer file offset. Then, after some refactoring work it became a list of `{Position, Size}` tuples. During the PSE work streams were abstracted such that each engine can supply its own stream implementation. The position in the stream then became a tuple that looks like `{couch_bt_engine_stream,{<0.1922.0>,[{4267,21}]}}`. This was written to the file the `#leaf.atts` data structure. While still correct, it is unnecessarily verbose wasting around 100 bytes per attachment, per leaf. To fix it use the disk serialized version of the stream position as returned from `couch_stream:to_disk_term`. In case of the default CouchDB engine implementation, this should avoid writing the module name and the pid value for each attachment entry.
* Merge pull request #1486 from cloudant/fix-doc-update-case-clauseiilyak2018-08-152-2/+59
|\ | | | | Expose document update errors to client
| * Expose document update errors to clientJay Doane2018-08-132-2/+59
|/ | | | | | | | | Currently, errors resulting from race conditions during document updates don't get handled correctly, result in a case error, and sending a 500 to the client. This change instead allows errors, which occur in the race to sync a doc update across the cluster, to be exposed to the client.
* Fix session based replicator auth when endpoints have require_valid_user setNick Vatamaniuc2018-08-131-12/+78
| | | | | | | | | | | | | | | | | | If _session response is 401 and WWW-Authentication header is set assume endpoint has require_valid_user set. Remember that in the state and retry to reinitialize again. If it succeeds, keep sending basic auth creds with every subsequent _session request. Since session uses the replicator worker pool, it needs to handle worker cleanup properly just like couch_replicator_httpc module does. If response headers indicate the connection will be closed, don't recycle it back to the pool, otherwise during an immediate retry there will be a connection_closing error, instead follow what the server indicated and stop the worker then release it to the pool. The pool already knows how to handle dead worker processes. This is needed with this commit, because we now have a pattern of an immediate retry after an auth failure. Fixes #1550
* Merge pull request #1553 from apache/ref-match-1544Robert Newson2018-08-101-2/+2
|\ | | | | Ensure we only receive the correct DOWN message
| * Ensure we only receive the correct DOWN messageRobert Newson2018-08-101-2/+2
|/ | | | relates to issue #1544.
* Move mango selector matching to the shard levelGarren Smith2018-08-084-20/+156
| | | | | | | | | | This moves the Mango selector matching down to the shard level. this would mean that the document is retrieved from the index and matched against the selector before being sent to the coordinator node. This reduces the network traffic for a mango query Co-authored-by: Paul J. Davis <paul.joseph.davis@gmail.com> Co-authored-by: Garren Smith <garren.smith@gmail.com>
* Add rexi ping messageGarren Smith2018-08-082-0/+11
| | | | | | | Add a ping message to rexi to avoid any long running operations from timing out. Long running operations at the node level can exceed the fabric timeout and be cancelled. Sending a ping message back will stop that from happening.
* Merge pull request #1432 from cloudant/support-callback-module-data-provideriilyak2018-08-084-14/+104
|\ | | | | Support callback module data provider
| * Update documentationILYA Khlopotov2018-08-081-0/+32
| |
| * Add 'callback_module' providerILYA Khlopotov2018-08-074-4/+62
| |
| * Rename 'module' data provider to 'static_module'ILYA Khlopotov2018-08-073-11/+11
|/
* Bump fauxtonJoan Touzet2018-08-071-1/+1
|
* Use new mochiweb recbuf|sndbuf undefined settingJoan Touzet2018-08-062-4/+5
| | | | Fixes #1409
* added missing dependencies for Debian-based systemsCerem Cem ASLAN2018-08-051-0/+3
|
* Fixed use of find ... -printf "%f" on Mac OS by replacing it with -exec basenameSergey Shevelev2018-08-041-2/+2
| | | | Fixes issue #1028
* Merge pull request #1484 from cloudant/fix-stats-reducer-for-arrayiilyak2018-08-011-4/+50
|\ | | | | Fix _stats reducer when map function emits array
| * Fix _stats reducer when map function emits arrayILYA Khlopotov2018-08-011-4/+50
|/
* remove obsolete update_notification featureJan Lehnardt2018-07-312-89/+0
|
* bump fauxtonJoan Touzet2018-07-311-1/+1
|
* Improve logging from test_utilILYA Khlopotov2018-07-291-0/+3
| | | | | | | Sometimes it is hard to guess what went wrong when application started via `test_util:start_applications` or `test_util:start_couch` is unable to start. Since the traceback was truncated. This change would print the reason in addition to the traceback.
* bump docs dependency2.2.0-RC1Joan Touzet2018-07-241-1/+1
|
* [travis] 20.1 -> 20.3Joan Touzet2018-07-241-1/+1
|
* Bump fauxton dependencyJoan Touzet2018-07-241-1/+1
|
* Enable replication client _session auth by defaultJoan Touzet2018-07-242-6/+5
| | | | Relates to #1153 and #1176
* Revert "Add bcrypt hashing option"Joan Touzet2018-07-1814-367/+22
| | | | This reverts commit 817b2b6f5f0883092df60c1ec8ec7ec6d6094a23.
* Revert "Replace resource expensive bcrypt test with shorter version (#1231)"Joan Touzet2018-07-181-17/+17
| | | | This reverts commit 89a727b625e74f40fcf612bda18421b8fc21eead.
* Revert "Make loginUser wait for successful authentication"Joan Touzet2018-07-181-7/+2
| | | | This reverts commit 6ffe0421ac524138a6b48fd010f2540631b83d16.
* bump hyper dependency, fix Windows buildJoan Touzet2018-07-181-1/+1
|