rnewson opened a new pull request, #5535: URL: https://github.com/apache/couchdb/pull/5535
## Overview We introduced a feature in https://github.com/apache/couchdb/pull/4681 to allow couchdb to reject writes at a configurable disk usage threshold, in order to ensure couchdb does not hit end of disk. We intentionally excluded internal replication from this mechanism. Unfortunately this work was flawed and did not allow mem3 checkpoint documents to be written. This PR adds a general bypass mechanism in couch_db module and alters internal replication to use the bypass. Closes https://github.com/apache/couchdb/issues/5528 ## Testing recommendations Place a node (or cluster) under sustained write load (a curl loop making new empty documents is sufficient). Alter the write threshold of all nodes to 0. Observe the absence of errors of this form; ``` with exit value:#012{{nocatch,{insufficient_storage,<<"database_dir is too full">>}},[{couch_db,update_doc,4,[{file,"src/couch_db.erl"},{line,876}]},{mem3_rep,update_locals,3,[{file,"src/mem3_rep.erl"},{line,740}]},{mem3_rep,replicate_batch,4,[{file,"src/mem3_rep.erl"},{line,641}]}, ``` ## Related Issues or Pull Requests https://github.com/apache/couchdb/pull/4681 https://github.com/apache/couchdb/issues/5528 ## Checklist - [x] Code is written and works correctly - [ ] Changes are covered by tests - [ ] Any new configurable parameters are documented in `rel/overlay/etc/default.ini` - [ ] Documentation changes were made in the `src/docs` folder - [ ] Documentation changes were backported (separated PR) to affected branches -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
