summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Ensure multiple batches are usedarchive/prototype/fdb-layer-final-mergeprototype/fdb-layer-final-mergePaul J. Davis2020-09-091-0/+3
| | | | | | | | | The active tasks test was failing sporadically. I realized that this was due to batches of 1k+ which resulted in the test grabbing a copy of the initial active task blob that had listed zero processed changes. Reducing the size of individual batches guarnatees that we'll have set an active task status with > 0 changes done.
* Merge branch 'prototype/fdb-layer' into masterPaul J. Davis2020-09-09327-8293/+42926
|\
| * Merge pull request #3133 from bessbd/backport-fdb-fix-copy-docRobert Newson2020-09-072-1/+13
| |\ | | | | | | Make COPY doc return only one "ok"
| | * Make COPY doc return only one "ok"Bessenyei Balázs Donát2020-09-072-1/+13
| |/
| * Add option to delay responses until the endRobert Newson2020-09-073-9/+125
| | | | | | | | | | | | | | | | | | | | | | When set, every response is sent once fully generated on the server side. This increases memory usage on the nodes but simplifies error handling for the client as it eliminates the possibility that the response will be deliberately terminated midway through due to a timeout. The config value can be changed at runtime without impacting any in-flight responses.
| * Disable node validation in productionPaul J. Davis2020-09-031-1/+7
| | | | | | | | | | This keeps validation during tests but disables the validation during production to avoid the overhead of collation.
| * Optimize umerge_membersPaul J. Davis2020-09-031-4/+20
| | | | | | | | | | | | Using lists:umerge/3 adds extra invocations of the collation algorithm because its using `=<` semantics when ebtree collations are capable of producing `lt, eq, gt` results.
| * Implement caching of immutable ebtree nodesRobert Newson2020-09-031-43/+142
| | | | | | | | Inner nodes of the B+Tree are now immutable so that they can be cached.
| * Implement ebtree:lookup_multi/3Paul J. Davis2020-09-031-0/+61
| | | | | | | | | | This allows looking up multiple keys simultaneously which reduces the amount of overhead due to node serialization and collation.
| * Implement ebtree:insert_multi/3Paul J. Davis2020-09-031-0/+164
| | | | | | | | | | This allows for batch insertion of keys in order to minimize node serialization and collation costs.
| * Allow creating new deleted documentsNick Vatamaniuc2020-09-032-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it compatible with CouchDB <= 3.x where we can create deleted documents. How to check: ``` $ http put $DB1/mydb $ http put $DB1/mydb/foo _deleted:='true' a=b { "id": "foo", "ok": true, "rev": "1-ad7eb689fcae75e7a7edb57dc1f30939" } ```
| * Handle empty maps in active_tasks data structuremaserNick Vatamaniuc2020-09-012-1/+122
| | | | | | | | | | | | | | Empty maps maybe useful to initialize the data in some cases but we don't want to emit an entry in the output with just an empty map. While at it, add some tests to check the basics.
| * Merge pull request #3094 from cloudant/use-key_docidiilyak2020-08-314-26/+263
| |\ | | | | | | Fix ordering of page_size based pagination for views
| | * Fix ordering of page_size based pagination for viewsILYA Khlopotov2020-08-314-26/+263
| |/ | | | | | | | | The pagination relied on id of the document. However for views it should use combination of key and id.
| * Merge pull request #3101 from apache/fix-couch-jobs-for-active-tasksTony Sun2020-08-251-1/+2
| |\ | | | | | | clear jobs data in active area during removal
| | * clear jobs data in active area during removalfix-couch-jobs-for-active-tasksTony Sun2020-08-251-1/+2
| |/ | | | | | | | | | | | | During job removal, it was not cleared from the active area so active_tasks would mistakenly believe the job still existed. When we try to actually open the data it is not there and not_found error would be issued.@nickva found this issue during replication work.
| * Merge pull request #3100 from apache/aegis-sensitive-falseRobert Newson2020-08-251-25/+34
| |\ | | | | | | Clear sensitive flag at end of public api functions
| | * Clear sensitive flag at end of public api functionsRobert Newson2020-08-251-25/+34
| |/
| * Merge pull request #3092 from apache/dont-log-client-disconnectsRobert Newson2020-08-201-0/+2
| |\ | | | | | | Don't log client disconnects
| | * Don't log client disconnectsRobert Newson2020-08-201-0/+2
| | |
| * | Do not use (catch ...) in couch_views_reader:load_docs/4Nick Vatamaniuc2020-08-201-2/+1
| |/ | | | | | | | | | | | | Any error there would just be generating a case clause. Remove the `{not_found, missing}` clause since it was accidentally matching on the Rev string and the case was included in the `_Else` clause anyway.
| * add has_failures to couch_rate_limiter (#3088)garren smith2020-08-191-7/+10
| | | | | | | | Fixes the case where no writes are done for an index, the rater limiter assumed it was a failure.
| * Merge pull request #3065 from apache/prototype/fdb-layer-ebtree-persist-funRobert Newson2020-08-061-6/+25
| |\ | | | | | | Pluggable persist_fun
| | * Pluggable persist_funRobert Newson2020-08-061-6/+25
| |/
| * Merge pull request #3062 from apache/prototype/fdb-layer-ebtree-enhanceRobert Newson2020-08-061-15/+65
| |\ | | | | | | Prototype/fdb layer ebtree enhance
| | * extra testsRobert Newson2020-08-061-0/+49
| | |
| | * Tighten expectation of members format by levelRobert Newson2020-08-061-15/+16
| |/
| * Merge pull request #3057 from apache/build-fdb-couchjs-for-redhat-linuxPeng Hui Jiang2020-08-061-1/+1
| |\ | | | | | | fixup: Build couch_js for redhat linux
| | * fixup: Build couch_js for redhat linuxjiangph2020-08-061-1/+1
| | | | | | | | | | | | | | | | | | When building couch_js in RHEL, there is one error occurring with "undefined reference to symbol '_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3'". This commit is to adjust binding library to address this issue.
| * | Merge pull request #3060 from apache/prototype/fdb-layer-ebtree-speedy-testsRobert Newson2020-08-051-41/+18
| |\ \ | | | | | | | | Speed up ebtree test suite without losing coverage
| | * | Speed up ebtree test suite without losing coverageRobert Newson2020-08-051-41/+18
| |/ /
| * | Fix range scans over an empty treePaul J. Davis2020-08-051-0/+24
| | |
| * | Handle empty reduce batchesPaul J. Davis2020-08-051-0/+9
| | |
| * | Export reduce/5Paul J. Davis2020-08-051-0/+1
| | |
| * | add local_seq option to views (#3043)garren smith2020-08-053-10/+97
| |/ | | | | | | add local_seq option to views
| * Merge pull request #3055 from apache/prototype/fdb-layer-ebtree-collate-validateRobert Newson2020-08-041-1/+11
| |\ | | | | | | Validate the result from collate_fun
| | * Validate the result from collate_funRobert Newson2020-08-041-1/+11
| |/
| * Merge pull request #3053 from apache/aegis_key_manager_appRobert Newson2020-08-041-7/+26
| |\ | | | | | | Optionally add a key manager application as a dependency
| | * Optionally add a key manager application as a dependencyaegis_key_manager_appRobert Newson2020-08-041-7/+26
| |/
| * Allow interactive requests to reopen a re-created db instanceNick Vatamaniuc2020-07-316-22/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if a database was re-created on another node, a request with that database might have found the previous db instance in the cache. In that case it would have correctly reopened the db while in a transaction, but, because the old db instance was deleted it would throw a database_does_not_exist which was not the correct behavior. To prevent that from happening, introduce an interactive = true|false option when opening a database. User requests may specify that option and then when the db is re-opened, it will allow it to automatically upgrade to the new db instance instead returning an error. Background processes will still get a database_doest_not_exist error if they keep a db open which has now been re-created. The interactive option may also be used in the future to set other transaction parameters like timeouts and retries that might be different for interactive requests vs background tasks.
| * Merge pull request #3046 from apache/prototype/fdb-layer-ebtree-group-reduce-fixRobert Newson2020-07-301-2/+4
| |\ | | | | | | Call collate for group equality
| | * Call collate for group equalityprototype/fdb-layer-ebtree-group-reduce-fixRobert Newson2020-07-291-2/+4
| | |
| * | Merge pull request #3031 from cloudant/clean-up-logsiilyak2020-07-3033-48/+511
| |\ \ | | |/ | |/| Clean up logs
| | * Update config appILYA Khlopotov2020-07-301-1/+1
| | |
| | * Do not log admin credentialsILYA Khlopotov2020-07-303-3/+5
| | |
| | * Do not log sensitive data during _cluster_setupILYA Khlopotov2020-07-301-6/+11
| | |
| | * Add format_status/2 callback in gen_server implementationsILYA Khlopotov2020-07-3024-27/+316
| | |
| | * Strip last_msg from logsILYA Khlopotov2020-07-306-12/+179
| |/
| * Merge pull request #3045 from apache/prototype/fdb-layer-ebtree-enhancementsRobert Newson2020-07-291-89/+106
| |\ | | | | | | Prototype/fdb layer ebtree enhancements
| | * Allow inclusive_start/endRobert Newson2020-07-291-84/+98
| | | | | | | | | | | | We also redefine the internal collation api for clarity.