kocolosk opened a new pull request #464: Document the IO Queue system URL: https://github.com/apache/couchdb-documentation/pull/464 ## Overview This PR is a little bit different. It is not an accurate description of the current configuration for IOQ (which is far less coherent), but is rather an attempt to write down what I think the configuration ought to look like when we release 3.0. I've gone back and forth several times on how much we ought to modify and enhance IOQ at this late juncture, and figured one way to unblock things was to document what a sensible future state would look like. The system I've documented here can be implemented with a conservative patch on top of the IOQ implementation that was present in CouchDB 2.3.1; i.e., it would ignore the "full fat" IOQ system later contributed by Cloudant. I expect that this approach will yield a higher-throughput system than "IOQ1" contributed by Cloudant and will be far less complex than "IOQ2". The documentation provides some basic recommendations regarding when it might make sense to change the defaults. Other bits of the "full-fat" IOQ system that are not excluded from this documentation: - fine-grained prioritization of reads, writes, view updates, internal replication and compaction. Each of these classes has a bypass switch governing whether IOQ cares about it at all, and there's a single configuration knob balancing "interactive" (read, write, and view update) vs. "background" (internal replication and compaction) IO - statistics collection and recording into an internal CouchDB database once a minute - customization of priorities on a per-database basis - deduplication of identical read IO requests that arrive concurrently. This dedupe operation is somewhat computationally expensive and we have sometimes needed to disable it in production I'd like to use this Pull Request to gain support for IO Queue functionality as documented here as the plan of record for 3.0. ## GitHub issue number apache/couchdb#2171 ## Checklist - [x] Documentation is written and is accurate; - [x] `make check` passes with no errors - [ ] Update [rebar.config.script](https://github.com/apache/couchdb/blob/master/rebar.config.script) with the commit hash once this PR is rebased and merged
---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
